diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-02-20 11:43:41 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-02-24 23:29:48 +0100 |
commit | c4eb67b659412cb5563afa4208768e6151284099 (patch) | |
tree | 7a90fb708d4a845308d34c8b9153ee3d7d512c27 /src/dbus.c | |
parent | b0e38727bd555861772562f4ab191d0216d471d3 (diff) | |
download | connman-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.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -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) |