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