From 1041b44d304cca543fe133b338b2021bbeffa913 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Fri, 28 May 2004 19:09:00 +0000 Subject: * fix for TODO item: - the varargs dbus_message_get_args() needs to support OBJECT_PATH and OBJECT_PATH_ARRAY --- ChangeLog | 5 +++++ dbus/dbus-message.c | 21 +++++++++++++++++++++ doc/TODO | 3 --- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 178fcb65..75590b0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-05-28 John (J5) Palmieri + + * dbus/dbus-message.c (dbus_message_get_args): Added support for + OBJECT_PATH and OBJECT_PATH_ARRAY + 2004-05-28 Seth Nickell * python/examples/Makefile.am: diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 9fa19668..feeebf0f 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -2480,6 +2480,23 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter, break; } + case DBUS_TYPE_OBJECT_PATH: + { + char **ptr; + + ptr = va_arg (var_args, char **); + + *ptr = dbus_message_iter_get_object_path (iter); + + if (!*ptr) + { + dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); + goto out; + } + + break; + } + case DBUS_TYPE_CUSTOM: { char **name; @@ -2548,6 +2565,10 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter, case DBUS_TYPE_STRING: err = !dbus_message_iter_get_string_array (iter, (char ***)data, len); break; + case DBUS_TYPE_OBJECT_PATH: + err = !dbus_message_iter_get_object_path_array (iter, (char ***)data, len); + break; + case DBUS_TYPE_NIL: case DBUS_TYPE_ARRAY: case DBUS_TYPE_CUSTOM: diff --git a/doc/TODO b/doc/TODO index 799f5b7c..9be577a6 100644 --- a/doc/TODO +++ b/doc/TODO @@ -107,9 +107,6 @@ (though they are kind of a pita to pass in as size_t with the varargs, so maybe not - what does glib do with g_object_get()?) - - the varargs dbus_message_get_args() needs to support OBJECT_PATH - and OBJECT_PATH_ARRAY - - recursive dispatch, see dbus_connection_dispatch() - Perhaps the auth protocol should be able to negotiate a protocol -- cgit