Trying to retrieve the "D-Bus Introspection XML file" with this command: dbus-send --session \ --dest=org._01.pim.contacts \ --print-reply=literal \ /org/01/pim/contacts \ org.freedesktop.DBus.Introspectable.Introspect I noticed that some of the functions seems incomplete (some return values are not shown as expected): 1) GetSortOrder <method name="GetSortOrder"/> Should be <method name="GetSortOrder"> <arg type="s" direction="out"/> </method> 2) GetAllPeers <method name="GetAllPeers"/> Should be (I think) <method name="GetAllPeers"> <arg type="as" direction="out"/> </method> 3) Search The return object seems missing.
The problem is in the C++ D-Bus binding. If the method that gets bound to D-Bus returns a value, that value is ignored in the signature: int foo() => no out parameter It works when the method is declared as having a retval: void foo (int &result) => integer out parameter This problem exists for both the libdbus and the GIO D-Bus bindings. In SyncEvolution it affects methods like GetVersions(). I have patches ready.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.