summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-12-19 12:19:08 -0800
committerMarcel Holtmann <marcel@holtmann.org>2009-12-19 12:19:08 -0800
commit2bd9cd76b63a3e6ef2d5a3278b9ff6cde65f355f (patch)
tree5d8a6b3b32d372c975879ac766143413453e3b10
parent002f7173b8db3b7ec06940521e8bae35b9243fda (diff)
downloadconnman-2bd9cd76b63a3e6ef2d5a3278b9ff6cde65f355f.tar.gz
connman-2bd9cd76b63a3e6ef2d5a3278b9ff6cde65f355f.tar.bz2
connman-2bd9cd76b63a3e6ef2d5a3278b9ff6cde65f355f.zip
Add helper for sending PropertyChanged signal
-rw-r--r--include/dbus.h4
-rw-r--r--src/dbus.c24
2 files changed, 27 insertions, 1 deletions
diff --git a/include/dbus.h b/include/dbus.h
index 3757fef8..d8a1854e 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 7308a49a..d67b0f84 100644
--- a/src/dbus.c
+++ b/src/dbus.c
@@ -24,7 +24,7 @@
#endif
#include <string.h>
-#include <dbus/dbus.h>
+#include <gdbus.h>
#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)