summaryrefslogtreecommitdiff
path: root/src/dbus.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-02-20 11:43:41 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-02-24 23:29:48 +0100
commitc4eb67b659412cb5563afa4208768e6151284099 (patch)
tree7a90fb708d4a845308d34c8b9153ee3d7d512c27 /src/dbus.c
parentb0e38727bd555861772562f4ab191d0216d471d3 (diff)
downloadconnman-c4eb67b659412cb5563afa4208768e6151284099.tar.gz
connman-c4eb67b659412cb5563afa4208768e6151284099.tar.bz2
connman-c4eb67b659412cb5563afa4208768e6151284099.zip
dbus: Function for adding array of object paths and dictionaries
Function for adding an array of object paths and dictionaries to D-Bus messages.
Diffstat (limited to 'src/dbus.c')
-rw-r--r--src/dbus.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/dbus.c b/src/dbus.c
index 225eefbb..e2039917 100644
--- a/src/dbus.c
+++ b/src/dbus.c
@@ -362,6 +362,32 @@ dbus_bool_t connman_dbus_setting_changed_array(const char *owner,
return TRUE;
}
+dbus_bool_t __connman_dbus_append_objpath_dict_array(DBusMessage *msg,
+ connman_dbus_append_cb_t function, void *user_data)
+{
+ DBusMessageIter iter, array;
+
+ if (msg == NULL || function == NULL)
+ return FALSE;
+
+ dbus_message_iter_init_append(msg, &iter);
+ dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
+ DBUS_STRUCT_BEGIN_CHAR_AS_STRING
+ DBUS_TYPE_OBJECT_PATH_AS_STRING
+ DBUS_TYPE_ARRAY_AS_STRING
+ DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
+ DBUS_TYPE_STRING_AS_STRING
+ DBUS_TYPE_VARIANT_AS_STRING
+ DBUS_DICT_ENTRY_END_CHAR_AS_STRING
+ DBUS_STRUCT_END_CHAR_AS_STRING, &array);
+
+ function(&array, user_data);
+
+ dbus_message_iter_close_container(&iter, &array);
+
+ return TRUE;
+}
+
DBusConnection *connman_dbus_get_connection(void)
{
if (connection == NULL)