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>