Hugh Daschbach
2020-09-01 01:41:50 UTC
When the same D-Bus property is registered on an interface with two
separate paths, only the last property is preserved. Methods and
signals registered on the same interface on different paths are
preserved.
The attached script demonstrates the property issue. It can be run as:
emacs -Q --load dbus-properties-test.el --eval "(main)"
The script registers a property on "/node0" then runs an asynchronous
dbus-send command to verify that the property is readable.
It then registers the same property on "/node1".
Subsequently, it attempts to read the property from both "/node0" and
"/node1". The property is successfully returned from the "/node1"
property get request. Nothing (boolean false) in returned from the
property get for "/node0".
Finally, it opens two windows, one displaying buffer "*node0*"
containing the command for the two get requests for "/node0". The first
is successful, the second is not.
The other window displays buffer "*node1* which shows the successful get
property on "/node1".
In short, the second registered property survives, the first does not.
separate paths, only the last property is preserved. Methods and
signals registered on the same interface on different paths are
preserved.
The attached script demonstrates the property issue. It can be run as:
emacs -Q --load dbus-properties-test.el --eval "(main)"
The script registers a property on "/node0" then runs an asynchronous
dbus-send command to verify that the property is readable.
It then registers the same property on "/node1".
Subsequently, it attempts to read the property from both "/node0" and
"/node1". The property is successfully returned from the "/node1"
property get request. Nothing (boolean false) in returned from the
property get for "/node0".
Finally, it opens two windows, one displaying buffer "*node0*"
containing the command for the two get requests for "/node0". The first
is successful, the second is not.
The other window displays buffer "*node1* which shows the successful get
property on "/node1".
In short, the second registered property survives, the first does not.