From 2bd9cd76b63a3e6ef2d5a3278b9ff6cde65f355f Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 19 Dec 2009 12:19:08 -0800 Subject: [PATCH] Add helper for sending PropertyChanged signal --- include/dbus.h | 4 ++++ src/dbus.c | 24 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/include/dbus.h b/include/dbus.h index 3757fef..d8a1854 100644 --- a/include/dbus.h +++ b/include/dbus.h @@ -55,6 +55,10 @@ void connman_dbus_property_append_fixed_array(DBusMessageIter *iter, void connman_dbus_property_append_variable_array(DBusMessageIter *dict, const char *key, int type, connman_dbus_append_cb_t function); +dbus_bool_t connman_dbus_property_changed_basic(const char *path, + const char *interface, const char *key, + int type, void *val); + static inline void connman_dbus_dict_open(DBusMessageIter *iter, DBusMessageIter *dict) { diff --git a/src/dbus.c b/src/dbus.c index 7308a49..d67b0f8 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -24,7 +24,7 @@ #endif #include -#include +#include #include "connman.h" @@ -181,6 +181,28 @@ void connman_dbus_property_append_variable_array(DBusMessageIter *iter, static DBusConnection *connection = NULL; +dbus_bool_t connman_dbus_property_changed_basic(const char *path, + const char *interface, const char *key, + int type, void *val) +{ + 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_variant(&iter, key, type, val); + + g_dbus_send_message(connection, signal); + + return TRUE; +} + DBusConnection *connman_dbus_get_connection(void) { if (connection == NULL) -- 2.7.4