I'm using Python 3.4. I don't know the version of pydbus as I was unable to find a documented method for discovering it.
Methods that return simple types (e.g. "i", "s", "d") work as expected, but methods that return structs (e.g. "(ddd)") fail.
As an example, my (Linux) service publishes an object.method Imu.GetOrientation that returns three doubles.
Help on method GetOrientation in module pydbus.proxy_method:
GetOrientation() -> (ddd) method of DBUS. instance
Attempting to call the method returns:
Imu.GetOrientation()
Traceback (most recent call last):
File "", line 1, in
File "/root/hb/lib/python3.4/site-packages/pydbus/proxy_method.py", line 75, in call
0, timeout_to_glib(timeout), None).unpack()
gi._glib.GError: Method 'GetOrientation' returned type '(ddd)', but expected '((ddd))'
Calling the same method via qdbus returns the three doubles and no complaints.
I'm using Python 3.4. I don't know the version of pydbus as I was unable to find a documented method for discovering it. Methods that return simple types (e.g. "i", "s", "d") work as expected, but methods that return structs (e.g. "(ddd)") fail.
As an example, my (Linux) service publishes an object.method Imu.GetOrientation that returns three doubles.
Introspection via qdbus returns:
pydbus reports the same signature:
Attempting to call the method returns:
Calling the same method via qdbus returns the three doubles and no complaints.