summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2008-03-12 19:49:15 +0000
committerLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2008-03-12 19:49:15 +0000
commitcf826d7c14f2587e96815dc714739be161e98d80 (patch)
treeaa1e3e4f34df2b6d36836745344d663671a59e1a /common
parentf2e093403e97b8f17343a0a429237f922f32a57c (diff)
Introduce dbus_connection_emit_property_changed.
Diffstat (limited to 'common')
-rw-r--r--common/dbus-helper.c28
-rw-r--r--common/dbus-helper.h5
2 files changed, 33 insertions, 0 deletions
diff --git a/common/dbus-helper.c b/common/dbus-helper.c
index 6fa90ff1..aacae487 100644
--- a/common/dbus-helper.c
+++ b/common/dbus-helper.c
@@ -560,3 +560,31 @@ dbus_bool_t dbus_connection_emit_signal(DBusConnection *conn, const char *path,
return ret;
}
+dbus_bool_t dbus_connection_emit_property_changed(DBusConnection *conn,
+ const char *path,
+ const char *interface,
+ const char *name,
+ int type, void *value)
+{
+ DBusMessage *signal;
+ DBusMessageIter iter;
+ gboolean ret;
+
+ signal = dbus_message_new_signal(path, interface, "PropertyChanged");
+
+ if (!signal) {
+ error("Unable to allocate new %s.PropertyChanged signal",
+ interface);
+ return FALSE;
+ }
+
+ dbus_message_iter_init_append(signal, &iter);
+
+ dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name);
+ dbus_message_iter_append_variant(&iter, type, value);
+
+ ret = dbus_connection_send(conn, signal, NULL);
+
+ dbus_message_unref(signal);
+ return ret;
+}
diff --git a/common/dbus-helper.h b/common/dbus-helper.h
index e5db24ba..b95d79c4 100644
--- a/common/dbus-helper.h
+++ b/common/dbus-helper.h
@@ -84,3 +84,8 @@ dbus_bool_t dbus_connection_emit_signal_valist(DBusConnection *conn,
const char *name,
int first,
va_list var_args);
+dbus_bool_t dbus_connection_emit_property_changed(DBusConnection *conn,
+ const char *path,
+ const char *interface,
+ const char *name,
+ int type, void *value);