Such helper will be used also in for peer.c
---
src/service.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/service.c b/src/service.c
index 2bdfc61..54790a4 100644
--- a/src/service.c
+++ b/src/service.c
@@ -4324,10 +4324,14 @@ static void append_removed(gpointer key, gpointer
value, gpointer user_data)
dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &objpath);
}
+static void service_append_removed(DBusMessageIter *iter, void *user_data)
+{
+ g_hash_table_foreach(services_notify->remove, append_removed, iter);
+}
+
static gboolean service_send_changed(gpointer data)
{
DBusMessage *signal;
- DBusMessageIter iter, array;
DBG("");
@@ -4339,15 +4343,9 @@ static gboolean service_send_changed(gpointer data)
return FALSE;
__connman_dbus_append_objpath_dict_array(signal,
- service_append_ordered, NULL);
-
- dbus_message_iter_init_append(signal, &iter);
- dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
- DBUS_TYPE_OBJECT_PATH_AS_STRING, &array);
-
- g_hash_table_foreach(services_notify->remove, append_removed, &array);
-
- dbus_message_iter_close_container(&iter, &array);
+ service_append_ordered, NULL);
+ __connman_dbus_append_objpath_array(signal,
+ service_append_removed, NULL);
dbus_connection_send(connection, signal, NULL);
dbus_message_unref(signal);
--
1.8.3.2
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman