summaryrefslogtreecommitdiffstats
path: root/tests/dbus-test-service.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dbus-test-service.py')
-rwxr-xr-xtests/dbus-test-service.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/dbus-test-service.py b/tests/dbus-test-service.py
index 5dcadb0..2944e08 100755
--- a/tests/dbus-test-service.py
+++ b/tests/dbus-test-service.py
@@ -115,6 +115,28 @@ class Service(dbus.service.Object):
keys = val.keys()
keys.sort()
return keys
+
+ @dbus.service.method("com.pengutronix.jdb.Test.Complex",
+ in_signature='(aiuaiu)', out_signature='(aiuaiu)')
+ def EchoStruct(self, val):
+ return val;
+
+ @dbus.service.method("com.pengutronix.jdb.Test.Complex",
+ in_signature='a(aiu)', out_signature='a(aiu)')
+ def EchoStructArray(self, val):
+ return val;
+
+ @dbus.service.method("com.pengutronix.jdb.Test.Complex",
+ in_signature='a(aiu)', out_signature='i')
+ def CountStructIntegerValues(self, val):
+ sum = 0
+ for struct in val:
+ ai = struct[0]
+ u = struct[1]
+ for i in ai:
+ sum += i
+ sum += u
+ return sum;
if __name__ == '__main__':
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)