gdbus-codegen does not honor "Property.EmitsChangedSignal" annotations
Submitted by Thomas Jost
Assigned to David Zeuthen
I'm wrinting a D-Bus service using GDBus and gdbus-codegen to implement MPRIS2 in my application. It is required that one of the properties does not emit the org.freedesktop.DBus.Properties.PropertiesChanged signal when it is changed (http://specifications.freedesktop.org/mpris-spec/latest/Player_Node.html#Property:Position). So I put this in my XML file:
`<property name="Position" type="x" access="read">` <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> `</property>`
(all other properties have this set to "true").
However, when using the code generated by gdbus-codegen, the PropertiesChanged signal is still emited when I set this property in my code, and I can't find a way to disable that.
This problem seems to have been acknowledged on the mailing-list (http://lists.freedesktop.org/archives/dbus/2012-March/015016.html), but I could not find a relevant bug here.
I'm using glib 2.32.1 on Arch Linux.
Could someone please add support for the EmitsChangedSignal annotation in gdbus-codegen? Or at least give me pointers on how to do it myself? (Disclaimer: I know very little about D-Bus and Glib internals. For example I have never written a new type deriving from GObject. In my code I'm using the generated interface with *_skeleton_new() and signal handlers...)