diff options
| -rw-r--r-- | common/dbus-helper.c | 28 | ||||
| -rw-r--r-- | common/dbus-helper.h | 5 | 
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); | 
