This is currently used only in service.c to signal ServicesChanged() but
it will be useful also in peer.c to signal PeersChanged(), thus
factorizing this code.
---
 src/connman.h |  4 +++-
 src/dbus.c    | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/connman.h b/src/connman.h
index fef8872..cc5b445 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -28,7 +28,9 @@
 #include <connman/dbus.h>
 
 dbus_bool_t __connman_dbus_append_objpath_dict_array(DBusMessage *msg,
-               connman_dbus_append_cb_t function, void *user_data);
+                       connman_dbus_append_cb_t function, void *user_data);
+dbus_bool_t __connman_dbus_append_objpath_array(DBusMessage *msg,
+                       connman_dbus_append_cb_t function, void *user_data);
 int __connman_dbus_init(DBusConnection *conn);
 void __connman_dbus_cleanup(void);
 
diff --git a/src/dbus.c b/src/dbus.c
index 4943b96..4fa0b36 100644
--- a/src/dbus.c
+++ b/src/dbus.c
@@ -408,6 +408,25 @@ dbus_bool_t 
__connman_dbus_append_objpath_dict_array(DBusMessage *msg,
        return TRUE;
 }
 
+dbus_bool_t __connman_dbus_append_objpath_array(DBusMessage *msg,
+                       connman_dbus_append_cb_t function, void *user_data)
+{
+       DBusMessageIter iter, array;
+
+       if (!msg || !function)
+               return FALSE;
+
+       dbus_message_iter_init_append(msg, &iter);
+       dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
+                               DBUS_TYPE_OBJECT_PATH_AS_STRING, &array);
+
+       function(&array, user_data);
+
+       dbus_message_iter_close_container(&iter, &array);
+
+       return TRUE;
+}
+
 struct callback_data {
        void *cb;
        void *user_data;
-- 
1.8.3.2

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to