Fixed a couple of D-BUS 0.3x bugs. Several remain though.
This commit is contained in:
parent
621266fc7b
commit
55d6f9dfcc
|
@ -1,3 +1,9 @@
|
|||
Sat Jul 16 02:51:42 PDT 2005 Christian Hammond <chipx86@gnupdate.org>
|
||||
|
||||
* libnotify/dbus-compat.h:
|
||||
* libnotify/notify.c:
|
||||
- Fixed a couple of D-BUS 0.3x bugs. Several remain though.
|
||||
|
||||
Tue Jul 12 12:29:08 PDT 2005 Christian Hammond <chipx86@chipx86.com>
|
||||
|
||||
* AUTHORS:
|
||||
|
|
|
@ -40,20 +40,59 @@
|
|||
dbus_message_iter_append_basic((iter), DBUS_TYPE_DOUBLE, &(val))
|
||||
|
||||
# define _notify_dbus_message_iter_append_byte_array(iter, data, len) \
|
||||
dbus_message_iter_append_fixed_array((iter), DBUS_TYPE_BYTE, &(data), \
|
||||
(len))
|
||||
{ \
|
||||
DBusMessageIter array_iter; \
|
||||
dbus_message_iter_open_container((iter), DBUS_TYPE_ARRAY, \
|
||||
DBUS_TYPE_BYTE_AS_STRING, \
|
||||
&array_iter); \
|
||||
dbus_message_iter_append_fixed_array(&array_iter, DBUS_TYPE_BYTE, \
|
||||
&(data), (len)); \
|
||||
dbus_message_iter_close_container((iter), &array_iter); \
|
||||
}
|
||||
# define _notify_dbus_message_iter_append_boolean_array(iter, data, len) \
|
||||
dbus_message_iter_append_fixed_array((iter), DBUS_TYPE_BOOLEAN, &(data), \
|
||||
(len))
|
||||
{ \
|
||||
DBusMessageIter array_iter; \
|
||||
dbus_message_iter_open_container((iter), DBUS_TYPE_ARRAY, \
|
||||
DBUS_TYPE_BOOLEAN_AS_STRING, \
|
||||
&array_iter); \
|
||||
dbus_message_iter_append_fixed_array(&array_iter, DBUS_TYPE_BOOLEAN, \
|
||||
&(data), (len)); \
|
||||
dbus_message_iter_close_container((iter), &array_iter); \
|
||||
}
|
||||
# define _notify_dbus_message_iter_append_int32_array(iter, data, len) \
|
||||
dbus_message_iter_append_fixed_array((iter), DBUS_TYPE_INT32, &(data), \
|
||||
(len))
|
||||
{ \
|
||||
DBusMessageIter array_iter; \
|
||||
dbus_message_iter_open_container((iter), DBUS_TYPE_ARRAY, \
|
||||
DBUS_TYPE_INT32_AS_STRING, \
|
||||
&array_iter); \
|
||||
dbus_message_iter_append_fixed_array(&array_iter, DBUS_TYPE_INT32, \
|
||||
&(data), (len)); \
|
||||
dbus_message_iter_close_container((iter), &array_iter); \
|
||||
}
|
||||
# define _notify_dbus_message_iter_append_uint32_array(iter, data, len) \
|
||||
dbus_message_iter_append_fixed_array((iter), DBUS_TYPE_UINT32, &(data), \
|
||||
(len))
|
||||
{ \
|
||||
DBusMessageIter array_iter; \
|
||||
dbus_message_iter_open_container((iter), DBUS_TYPE_ARRAY, \
|
||||
DBUS_TYPE_UINT32_AS_STRING, \
|
||||
&array_iter); \
|
||||
dbus_message_iter_append_fixed_array(&array_iter, DBUS_TYPE_UINT32, \
|
||||
&(data), (len)); \
|
||||
dbus_message_iter_close_container((iter), &array_iter); \
|
||||
}
|
||||
# define _notify_dbus_message_iter_append_string_array(iter, data, len) \
|
||||
dbus_message_iter_append_fixed_array((iter), DBUS_TYPE_STRING, \
|
||||
&(data), (len))
|
||||
{ \
|
||||
DBusMessageIter array_iter; \
|
||||
int i; \
|
||||
dbus_message_iter_open_container((iter), DBUS_TYPE_ARRAY, \
|
||||
DBUS_TYPE_STRING_AS_STRING, \
|
||||
&array_iter); \
|
||||
for (i = 0; i < len; i++) \
|
||||
{ \
|
||||
dbus_message_iter_append_basic(&array_iter, DBUS_TYPE_STRING, \
|
||||
&((char **)data)[i]); \
|
||||
} \
|
||||
dbus_message_iter_close_container((iter), &array_iter); \
|
||||
}
|
||||
|
||||
# define _notify_dbus_message_iter_get_byte(iter, retvar) \
|
||||
dbus_message_iter_get_basic((iter), &(retvar))
|
||||
|
@ -68,16 +107,21 @@
|
|||
# define _notify_dbus_message_iter_get_double(iter, retvar) \
|
||||
dbus_message_iter_get_basic((iter), &(retvar))
|
||||
|
||||
# define _notify_dbus_message_iter_get_byte_array \
|
||||
dbus_message_iter_get_fixed_array
|
||||
# define _notify_dbus_message_iter_get_boolean_array \
|
||||
dbus_message_iter_get_fixed_array
|
||||
# define _notify_dbus_message_iter_get_int32_array \
|
||||
dbus_message_iter_get_fixed_array
|
||||
# define _notify_dbus_message_iter_get_uint32_array \
|
||||
dbus_message_iter_get_fixed_array
|
||||
# define _notify_dbus_message_iter_get_string_array(iter, array, num_items) \
|
||||
dbus_message_iter_get_fixed_array((iter), (array), (num_items))
|
||||
# define _notify_dbus_message_iter_get_fixed_array(iter, data, len) \
|
||||
{ \
|
||||
DBusMessageIter array_iter; \
|
||||
dbus_message_iter_recurse((iter), &array_iter); \
|
||||
dbus_message_iter_get_fixed_array(&array_iter, (data), (len)); \
|
||||
}
|
||||
|
||||
# define _notify_dbus_message_iter_get_byte_array(iter, data, len) \
|
||||
_notify_dbus_message_iter_get_fixed_array((iter), (data), (len))
|
||||
# define _notify_dbus_message_iter_get_boolean_array(iter, data, len) \
|
||||
_notify_dbus_message_iter_get_fixed_array((iter), (data), (len))
|
||||
# define _notify_dbus_message_iter_get_int32_array(iter, data, len) \
|
||||
_notify_dbus_message_iter_get_fixed_array((iter), (data), (len))
|
||||
# define _notify_dbus_message_iter_get_uint32_array(iter, data, len) \
|
||||
_notify_dbus_message_iter_get_fixed_array((iter), (data), (len))
|
||||
|
||||
#else /* D-BUS < 0.30 */
|
||||
# define DBUS_INTERFACE_DBUS DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS
|
||||
|
@ -85,10 +129,6 @@
|
|||
# define DBUS_PATH_DBUS DBUS_PATH_ORG_FREEDESKTOP_DBUS
|
||||
# define DBUS_ERROR_SERVICE_UNKNOWN DBUS_ERROR_SERVICE_DOES_NOT_EXIST
|
||||
|
||||
# define dbus_bus_start_service_by_name dbus_bus_activate_service
|
||||
|
||||
# define dbus_message_iter_close_container(iter, container_iter)
|
||||
|
||||
# define dbus_message_iter_init_append(msg, iter) \
|
||||
dbus_message_iter_init(msg, iter)
|
||||
|
||||
|
@ -137,8 +177,6 @@
|
|||
dbus_message_iter_get_int32_array((iter), (data), (len))
|
||||
# define _notify_dbus_message_iter_get_uint32_array(iter, data, len) \
|
||||
dbus_message_iter_get_uint32_array((iter), (data), (len))
|
||||
# define _notify_dbus_message_iter_get_string_array(iter, data, len) \
|
||||
dbus_message_iter_get_string_array((iter), (data), (len))
|
||||
#endif
|
||||
|
||||
#endif /* NOTIFY_DBUS_COMPAT_H_ */
|
||||
|
|
|
@ -468,8 +468,12 @@ notify_get_server_caps(void)
|
|||
DBusMessageIter iter;
|
||||
DBusError error;
|
||||
GList *caps = NULL;
|
||||
#if NOTIFY_CHECK_DBUS_VERSION(0, 30)
|
||||
DBusMessageIter array_iter;
|
||||
#else
|
||||
char **temp_array;
|
||||
int num_items, i;
|
||||
#endif
|
||||
|
||||
message = _notify_dbus_message_new("GetCapabilities", NULL);
|
||||
|
||||
|
@ -495,15 +499,29 @@ notify_get_server_caps(void)
|
|||
|
||||
dbus_message_iter_init(reply, &iter);
|
||||
|
||||
_notify_dbus_message_iter_get_string_array(&iter, &temp_array,
|
||||
&num_items);
|
||||
#if NOTIFY_CHECK_DBUS_VERSION(0, 30)
|
||||
dbus_message_iter_recurse(&iter, &array_iter);
|
||||
|
||||
dbus_message_unref(reply);
|
||||
while (dbus_message_iter_get_arg_type(&array_iter) == DBUS_TYPE_STRING)
|
||||
{
|
||||
const char *value;
|
||||
|
||||
dbus_message_iter_get_basic(&array_iter, &value);
|
||||
|
||||
caps = g_list_append(caps, g_strdup(value));
|
||||
|
||||
dbus_message_iter_next(&array_iter);
|
||||
}
|
||||
#else /* D-BUS < 0.30 */
|
||||
dbus_message_iter_get_string_array(&iter, &temp_array, &num_items);
|
||||
|
||||
for (i = 0; i < num_items; i++)
|
||||
caps = g_list_append(caps, g_strdup(temp_array[i]));
|
||||
|
||||
dbus_free_string_array(temp_array);
|
||||
#endif /* D-BUS < 0.30 */
|
||||
|
||||
dbus_message_unref(reply);
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
@ -674,8 +692,8 @@ hint_foreach_func(const gchar *key, const gchar *value, DBusMessageIter *iter)
|
|||
|
||||
dbus_message_iter_open_container(iter, DBUS_TYPE_DICT_ENTRY, NULL,
|
||||
&entry_iter);
|
||||
dbus_message_iter_append_basic(&entry_iter, DBUS_TYPE_STRING, key);
|
||||
dbus_message_iter_append_basic(&entry_iter, DBUS_TYPE_STRING, value);
|
||||
dbus_message_iter_append_basic(&entry_iter, DBUS_TYPE_STRING, &key);
|
||||
dbus_message_iter_append_basic(&entry_iter, DBUS_TYPE_STRING, &value);
|
||||
dbus_message_iter_close_container(iter, &entry_iter);
|
||||
#else
|
||||
dbus_message_iter_append_dict_key(iter, key);
|
||||
|
|
Loading…
Reference in New Issue