summaryrefslogtreecommitdiff
path: root/src/manager.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-02-20 11:43:42 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-02-24 23:29:48 +0100
commit91721e7dd45811bd469055818237136816feab1c (patch)
tree45705609e743f69d91e045042d9e12544c642e28 /src/manager.c
parentc4eb67b659412cb5563afa4208768e6151284099 (diff)
downloadconnman-91721e7dd45811bd469055818237136816feab1c.tar.gz
connman-91721e7dd45811bd469055818237136816feab1c.tar.bz2
connman-91721e7dd45811bd469055818237136816feab1c.zip
manager: Use helper function for adding arrays of objpath, dict
Use helper function for adding arrays of object path and dictionary to D-Bus messages.
Diffstat (limited to 'src/manager.c')
-rw-r--r--src/manager.c46
1 files changed, 14 insertions, 32 deletions
diff --git a/src/manager.c b/src/manager.c
index d0c66e4c..1744231e 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -127,11 +127,15 @@ static DBusMessage *set_property(DBusConnection *conn,
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
}
+static void append_technology_structs(DBusMessageIter *iter, void *user_data)
+{
+ __connman_technology_list_struct(iter);
+}
+
static DBusMessage *get_technologies(DBusConnection *conn,
DBusMessage *msg, void *data)
{
DBusMessage *reply;
- DBusMessageIter iter, array;
DBG("");
@@ -139,21 +143,8 @@ static DBusMessage *get_technologies(DBusConnection *conn,
if (reply == NULL)
return NULL;
- dbus_message_iter_init_append(reply, &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);
-
- __connman_technology_list_struct(&array);
-
- dbus_message_iter_close_container(&iter, &array);
+ __connman_dbus_append_objpath_dict_array(reply,
+ append_technology_structs, NULL);
return reply;
}
@@ -208,31 +199,22 @@ static struct connman_notifier technology_notifier = {
.idle_state = idle_state,
};
+static void append_service_structs(DBusMessageIter *iter, void *user_data)
+{
+ __connman_service_list_struct(iter);
+}
+
static DBusMessage *get_services(DBusConnection *conn,
DBusMessage *msg, void *data)
{
DBusMessage *reply;
- DBusMessageIter iter, array;
reply = dbus_message_new_method_return(msg);
if (reply == NULL)
return NULL;
- dbus_message_iter_init_append(reply, &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);
-
- __connman_service_list_struct(&array);
-
- dbus_message_iter_close_container(&iter, &array);
+ __connman_dbus_append_objpath_dict_array(reply,
+ append_service_structs, NULL);
return reply;
}