From: Marcel Holtmann Date: Sat, 19 Dec 2009 23:01:32 +0000 (-0800) Subject: Add D-Bus helper for array property changed signals X-Git-Tag: 2.0_alpha~3012 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=328d81c6cea8523694ca008e9f08008326f46439;p=framework%2Fconnectivity%2Fconnman.git Add D-Bus helper for array property changed signals --- diff --git a/include/dbus.h b/include/dbus.h index 83f24f9..fbbc973 100644 --- a/include/dbus.h +++ b/include/dbus.h @@ -65,6 +65,9 @@ dbus_bool_t connman_dbus_property_changed_basic(const char *path, dbus_bool_t connman_dbus_property_changed_dict(const char *path, const char *interface, const char *key, connman_dbus_append_cb_t function, void *user_data); +dbus_bool_t connman_dbus_property_changed_array(const char *path, + const char *interface, const char *key, int type, + connman_dbus_append_cb_t function, void *user_data); static inline void connman_dbus_dict_open(DBusMessageIter *iter, DBusMessageIter *dict) diff --git a/src/dbus.c b/src/dbus.c index 2253eaf..884d78a 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -247,6 +247,29 @@ dbus_bool_t connman_dbus_property_changed_dict(const char *path, return TRUE; } +dbus_bool_t connman_dbus_property_changed_array(const char *path, + const char *interface, const char *key, int type, + connman_dbus_append_cb_t function, void *user_data) +{ + DBusMessage *signal; + DBusMessageIter iter; + + if (path == NULL) + return FALSE; + + signal = dbus_message_new_signal(path, interface, "PropertyChanged"); + if (signal == NULL) + return FALSE; + + dbus_message_iter_init_append(signal, &iter); + connman_dbus_property_append_variable_array(&iter, key, type, + function, user_data); + + g_dbus_send_message(connection, signal); + + return TRUE; +} + DBusConnection *connman_dbus_get_connection(void) { if (connection == NULL)