diff options
Diffstat (limited to 'tests/dbus-test-service.py')
-rwxr-xr-x | tests/dbus-test-service.py | 22 |
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) |