Add an optional PropertiesChanged() signal
authorDavid Zeuthen <davidz@redhat.com>
Fri, 7 May 2010 16:50:47 +0000 (12:50 -0400)
committerDavid Zeuthen <davidz@redhat.com>
Wed, 12 May 2010 16:28:19 +0000 (12:28 -0400)
commit2541e86615ec384f12a20183fe4dfaa53d707869
tree59ed6ba6d201522ec49009f74aede373219b0c46
parent1af558a6206152722a8851b11661d2015aac38b5
Add an optional PropertiesChanged() signal

Some notes about this new signal

 - The PropertiesChanged() signal is optional. An application can
   convey support for this signal by either including or excluding it
   from the returned introspection data much like apps not supporting
   (or predating) the GetAll() method does not include GetAll() in the
   introspection data.

 - An object can use PropertiesChanged() but opt out of using it for
   one or more properties by using the

     org.freedesktop.DBus.Properties.EmitsChangedSignal

   annotation on the properties in question

 - Applications can start using this new signal without breaking
   compatibility with clients relying on existing D-Bus API.

The intent of the patch is simply to standardize existing behavior

 - EggDBus has a very similar signal called EggDBusPropertiesChanged()
   (also on the org.freedesktop.DBus.Properties interface)

 - NetworkManager has a PropertiesChanged() signal on each different
   interface (e.g. not org.fd.D.P) that it implements

 - GDBus, an implementation of the D-Bus protocol in GLib, already
   implements this signal

Signed-off-by: David Zeuthen <davidz@redhat.com>
doc/dbus-specification.xml