summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Fontaine <arnau@debian.org>2009-12-02 22:25:59 +0100
committerArnaud Fontaine <arfontaine@ITEM-58736.dhcp.oxfd.uk.sopra>2010-02-11 14:47:30 +0000
commit9d11b26a88753aec8ea84674f363990cc9b86a73 (patch)
treee11d94f0ceafb81161c03af0b91521519e407075
parent7e91bf4fe2f5e6ff68080303a0131ec5953eb626 (diff)
Remove a macro in favor of inline functions
-rw-r--r--ewmh/ewmh.c.m446
-rw-r--r--ewmh/xcb_ewmh.h.m4196
2 files changed, 153 insertions, 89 deletions
diff --git a/ewmh/ewmh.c.m4 b/ewmh/ewmh.c.m4
index ab0593b..9736f6d 100644
--- a/ewmh/ewmh.c.m4
+++ b/ewmh/ewmh.c.m4
@@ -128,9 +128,9 @@ static ewmh_atom_t ewmh_atoms[] = {dnl
* WINDOW and CARDINAL)
*/
#define DO_REPLY_SINGLE_VALUE(name, name_type, reply_type) \
- static uint8_t \
- get_single_##name##_from_reply(name_type *atom_value, \
- xcb_get_property_reply_t *r) \
+ uint8_t \
+ xcb_ewmh_get_##name##_from_reply(name_type *atom_value, \
+ xcb_get_property_reply_t *r) \
{ \
if(!r || r->type != reply_type || r->format != 32 || \
xcb_get_property_value_length(r) != 4) \
@@ -140,17 +140,17 @@ static ewmh_atom_t ewmh_atoms[] = {dnl
return 1; \
} \
\
- static uint8_t \
- get_single_##name##_reply(xcb_ewmh_connection_t *ewmh, \
- xcb_get_property_cookie_t cookie, \
- name_type *atom_value, \
- xcb_generic_error_t **e) \
+ uint8_t \
+ xcb_ewmh_get_##name##_reply(xcb_ewmh_connection_t *ewmh, \
+ xcb_get_property_cookie_t cookie, \
+ name_type *atom_value, \
+ xcb_generic_error_t **e) \
{ \
xcb_get_property_reply_t *r = \
xcb_get_property_reply(ewmh->connection, \
cookie, e); \
\
- const uint8_t ret = get_single_##name##_from_reply(atom_value, r); \
+ const uint8_t ret = xcb_ewmh_get_##name##_from_reply(atom_value, r); \
\
free(r); \
return ret; \
@@ -162,24 +162,6 @@ DO_REPLY_SINGLE_VALUE(window, xcb_window_t, WINDOW)
/** Define reply functions for common CARDINAL Atom */
DO_REPLY_SINGLE_VALUE(cardinal, uint32_t, CARDINAL)
-#define DO_GET_SINGLE_VALUE(atom, name, reply_type, \
- out_type, func_reply) \
- uint8_t \
- xcb_ewmh_get_##name##_from_reply(out_type *out, \
- xcb_get_property_reply_t *r) \
- { \
- return get_single_##func_reply##_from_reply(out, r); \
- } \
- \
- uint8_t \
- xcb_ewmh_get_##name##_reply(xcb_ewmh_connection_t *ewmh, \
- xcb_get_property_cookie_t cookie, \
- out_type *out, \
- xcb_generic_error_t **e) \
- { \
- return get_single_##func_reply##_reply(ewmh, cookie, out, e); \
- }
-
#define DO_SINGLE_VALUE(atom, name, reply_type, \
out_type, func_reply) \
DO_GET_PROPERTY(atom, name, reply_type, 1L) \
@@ -204,10 +186,7 @@ DO_REPLY_SINGLE_VALUE(cardinal, uint32_t, CARDINAL)
return xcb_change_property(ewmh->connection, XCB_PROP_MODE_REPLACE, \
window, ewmh->atom, reply_type, 32, 1, \
&value); \
- } \
- \
- DO_GET_SINGLE_VALUE(atom, name, reply_type, out_type, \
- func_reply)
+ }
#define DO_ROOT_SINGLE_VALUE(atom, name, reply_type, \
out_type, func_reply) \
@@ -230,10 +209,7 @@ DO_REPLY_SINGLE_VALUE(cardinal, uint32_t, CARDINAL)
return xcb_change_property(ewmh->connection, XCB_PROP_MODE_REPLACE, \
ewmh->root, ewmh->atom, reply_type, \
32, 1, &value); \
- } \
- \
- DO_GET_SINGLE_VALUE(atom, name, reply_type, out_type, \
- func_reply)
+ }
/**
* Generic function for EWMH atoms with a list of values which may be
diff --git a/ewmh/xcb_ewmh.h.m4 b/ewmh/xcb_ewmh.h.m4
index 12d6790..8a7ee26 100644
--- a/ewmh/xcb_ewmh.h.m4
+++ b/ewmh/xcb_ewmh.h.m4
@@ -382,6 +382,22 @@ xcb_void_cookie_t xcb_ewmh_send_client_message(xcb_connection_t *c,
uint32_t data_len,
const uint32_t *data);
+uint8_t xcb_ewmh_get_window_from_reply(xcb_window_t *window,
+ xcb_get_property_reply_t *r);
+
+uint8_t xcb_ewmh_get_window_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ xcb_window_t *window,
+ xcb_generic_error_t **e);
+
+uint8_t xcb_ewmh_get_cardinal_from_reply(uint32_t *cardinal,
+ xcb_get_property_reply_t *r);
+
+uint8_t xcb_ewmh_get_cardinal_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *cardinal,
+ xcb_generic_error_t **e);
+
/**
* @brief Get a list of atoms from a given GetProperty reply whose
* type is ATOM
@@ -783,8 +799,12 @@ xcb_get_property_cookie_t xcb_ewmh_get_number_of_desktops(xcb_ewmh_connection_t
* @param r GetProperty _NET_NUMBER_OF_DESKTOPS reply
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_number_of_desktops_from_reply(uint32_t *number_of_desktops,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_number_of_desktops_from_reply(uint32_t *number_of_desktops,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(number_of_desktops, r);
+}
/**
* @brief Get reply from the GetProperty _NET_NUMBER_OF_DESKTOPS cookie
@@ -799,10 +819,14 @@ uint8_t xcb_ewmh_get_number_of_desktops_from_reply(uint32_t *number_of_desktops,
* @param The xcb_generic_error_t supplied
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_number_of_desktops_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *number_of_desktops,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_number_of_desktops_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *number_of_desktops,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, number_of_desktops, e);
+}
static inline xcb_void_cookie_t
xcb_ewmh_request_change_number_of_desktops(xcb_ewmh_connection_t *ewmh,
@@ -1030,8 +1054,12 @@ xcb_void_cookie_t xcb_ewmh_request_change_current_desktop(xcb_ewmh_connection_t
* @param r GetProperty _NET_CURRENT_DESKTOP reply
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_current_desktop_from_reply(uint32_t *current_desktop,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_current_desktop_from_reply(uint32_t *current_desktop,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(current_desktop, r);
+}
/**
* @brief Get reply from the GetProperty _NET_CURRENT_DESKTOP cookie
@@ -1046,10 +1074,14 @@ uint8_t xcb_ewmh_get_current_desktop_from_reply(uint32_t *current_desktop,
* @param The xcb_generic_error_t supplied
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_current_desktop_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *current_desktop,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_current_desktop_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *current_desktop,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, current_desktop, e);
+}
/**
* @brief Send a ChangeProperty request for _NET_DESKTOP_NAMES
@@ -1196,8 +1228,12 @@ xcb_get_property_cookie_t xcb_ewmh_get_active_window(xcb_ewmh_connection_t *ewmh
* @param r GetProperty _NET_ACTIVE_WINDOW_OF_DESKTOPS reply
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_active_window_from_reply(xcb_window_t *active_window,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_active_window_from_reply(xcb_window_t *active_window,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_window_from_reply(active_window, r);
+}
/**
* @brief Get reply from the GetProperty _NET_ACTIVE_WINDOW cookie
@@ -1212,10 +1248,14 @@ uint8_t xcb_ewmh_get_active_window_from_reply(xcb_window_t *active_window,
* @param The xcb_generic_error_t supplied.
* @return Return 1 on success, 0 otherwise.
*/
-uint8_t xcb_ewmh_get_active_window_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- xcb_window_t *active_window,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_active_window_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ xcb_window_t *active_window,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_window_reply(ewmh, cookie, active_window, e);
+}
/**
* @brief Send a ChangeProperty request for _NET_WORKAREA
@@ -1332,8 +1372,12 @@ xcb_get_property_cookie_t xcb_ewmh_get_supporting_wm_check(xcb_ewmh_connection_t
* @param r GetProperty _NET_SUPPORTING_WM_CHECK reply
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_supporting_wm_check_from_reply(xcb_window_t *window,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_supporting_wm_check_from_reply(xcb_window_t *window,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_window_from_reply(window, r);
+}
/**
* @brief Get reply from the GetProperty _NET_SUPPORTING_WM_CHECK
@@ -1349,10 +1393,14 @@ uint8_t xcb_ewmh_get_supporting_wm_check_from_reply(xcb_window_t *window,
* @param The xcb_generic_error_t supplied
* @return Return 1 on success, 0 otherwise
*/
-uint8_t xcb_ewmh_get_supporting_wm_check_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- xcb_window_t *window,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_supporting_wm_check_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ xcb_window_t *window,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_window_reply(ewmh, cookie, window, e);
+}
/**
* @brief Send a ChangeProperty request for _NET_VIRTUAL_ROOTS
@@ -1468,13 +1516,21 @@ xcb_get_property_cookie_t xcb_ewmh_get_showing_desktop_unchecked(xcb_ewmh_connec
xcb_get_property_cookie_t xcb_ewmh_get_showing_desktop(xcb_ewmh_connection_t *ewmh);
-uint8_t xcb_ewmh_get_showing_desktop_from_reply(uint32_t *desktop,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_showing_desktop_from_reply(uint32_t *desktop,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(desktop, r);
+}
-uint8_t xcb_ewmh_get_showing_desktop_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *desktop,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_showing_desktop_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *desktop,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, desktop, e);
+}
static inline xcb_void_cookie_t
xcb_ewmh_request_change_showing_desktop(xcb_ewmh_connection_t *ewmh,
@@ -1632,13 +1688,21 @@ xcb_get_property_cookie_t xcb_ewmh_get_wm_desktop_unchecked(xcb_ewmh_connection_
xcb_get_property_cookie_t xcb_ewmh_get_wm_desktop(xcb_ewmh_connection_t *ewmh,
xcb_window_t window);
-uint8_t xcb_ewmh_get_wm_desktop_from_reply(uint32_t *desktop,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_wm_desktop_from_reply(uint32_t *desktop,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(desktop, r);
+}
-uint8_t xcb_ewmh_get_wm_desktop_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *desktop,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_wm_desktop_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *desktop,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, desktop, e);
+}
xcb_void_cookie_t xcb_ewmh_request_change_wm_desktop(xcb_ewmh_connection_t *ewmh,
xcb_window_t client_window,
@@ -1810,13 +1874,21 @@ xcb_get_property_cookie_t xcb_ewmh_get_wm_pid_unchecked(xcb_ewmh_connection_t *e
xcb_get_property_cookie_t xcb_ewmh_get_wm_pid(xcb_ewmh_connection_t *ewmh,
xcb_window_t window);
-uint8_t xcb_ewmh_get_wm_pid_from_reply(uint32_t *pid,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_wm_pid_from_reply(uint32_t *pid,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(pid, r);
+}
-uint8_t xcb_ewmh_get_wm_pid_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *time,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_wm_pid_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *time,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, time, e);
+}
xcb_void_cookie_t xcb_ewmh_set_wm_user_time(xcb_ewmh_connection_t *ewmh,
xcb_window_t window,
@@ -1832,13 +1904,21 @@ xcb_get_property_cookie_t xcb_ewmh_get_wm_user_time_unchecked(xcb_ewmh_connectio
xcb_get_property_cookie_t xcb_ewmh_get_wm_user_time(xcb_ewmh_connection_t *ewmh,
xcb_window_t window);
-uint8_t xcb_ewmh_get_wm_user_time_from_reply(uint32_t *time,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_wm_user_time_from_reply(uint32_t *time,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(time, r);
+}
-uint8_t xcb_ewmh_get_wm_user_time_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *time,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_wm_user_time_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *time,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, time, e);
+}
xcb_void_cookie_t xcb_ewmh_set_wm_user_time_window(xcb_ewmh_connection_t *ewmh,
xcb_window_t window,
@@ -1854,13 +1934,21 @@ xcb_get_property_cookie_t xcb_ewmh_get_wm_user_time_window_unchecked(xcb_ewmh_co
xcb_get_property_cookie_t xcb_ewmh_get_wm_user_time_window(xcb_ewmh_connection_t *ewmh,
xcb_window_t window);
-uint8_t xcb_ewmh_get_wm_user_time_window_from_reply(uint32_t *time,
- xcb_get_property_reply_t *r);
+static inline uint8_t
+xcb_ewmh_get_wm_user_time_window_from_reply(uint32_t *time,
+ xcb_get_property_reply_t *r)
+{
+ return xcb_ewmh_get_cardinal_from_reply(time, r);
+}
-uint8_t xcb_ewmh_get_wm_user_time_window_reply(xcb_ewmh_connection_t *ewmh,
- xcb_get_property_cookie_t cookie,
- uint32_t *time,
- xcb_generic_error_t **e);
+static inline uint8_t
+xcb_ewmh_get_wm_user_time_window_reply(xcb_ewmh_connection_t *ewmh,
+ xcb_get_property_cookie_t cookie,
+ uint32_t *time,
+ xcb_generic_error_t **e)
+{
+ return xcb_ewmh_get_cardinal_reply(ewmh, cookie, time, e);
+}
xcb_void_cookie_t xcb_ewmh_set_frame_extents(xcb_ewmh_connection_t *ewmh,
xcb_window_t window,