summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2004-05-28 19:09:00 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2004-05-28 19:09:00 +0000
commit1041b44d304cca543fe133b338b2021bbeffa913 (patch)
treedc849799ebdf3eb37c4b1abd0b17c08c9f14e5cd /dbus/dbus-message.c
parent841bf8a026632879f81cefa15df554956703b2b3 (diff)
* fix for TODO item:
- the varargs dbus_message_get_args() needs to support OBJECT_PATH and OBJECT_PATH_ARRAY
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r--dbus/dbus-message.c21
1 files changed, 21 insertions, 0 deletions
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: