diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-06-02 12:42:48 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-06-02 12:42:48 +0200 |
commit | 3f065cee2177340e877331a6b08b5a1d92e0f19d (patch) | |
tree | f0aa7f154ed2a1f99c55474b9e9d60ac4489b0be | |
parent | 0ab3d8a8846de36b13cbbca62fb03e6b6826365a (diff) | |
download | json-dbus-bridge-examples-3f065cee2177340e877331a6b08b5a1d92e0f19d.tar.gz json-dbus-bridge-examples-3f065cee2177340e877331a6b08b5a1d92e0f19d.tar.xz |
[services] python calculator service
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rwxr-xr-x | services/python/calculator.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/services/python/calculator.py b/services/python/calculator.py new file mode 100755 index 0000000..50674d9 --- /dev/null +++ b/services/python/calculator.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python2.5 + + +import gobject + +import dbus +import dbus.service +import dbus.mainloop.glib + + +class Service(dbus.service.Object): + def __init__(self): + busname = dbus.service.BusName("com.pengutronix.jdb.Calculator", dbus.SessionBus()) + dbus.service.Object.__init__(self, None, "/", busname) + + + @dbus.service.method("com.pengutronix.jdb.Calculator", + in_signature='ii', out_signature='i') + def Add( self, a, b): + return a + b + + @dbus.service.method("com.pengutronix.jdb.Calculator", + in_signature='ai', out_signature='i') + def AddAll(self, array): + sum = 0 + for i in array: + sum += i + return sum + + @dbus.service.method("com.pengutronix.jdb.Calculator", + in_signature='ii', out_signature='i') + def Sub(self, a, b): + return a - b + + @dbus.service.method("com.pengutronix.jdb.Calculator", + in_signature='ii', out_signature='i') + def Multiply(self, a, b): + return a * b + + @dbus.service.method("com.pengutronix.jdb.Calculator", + in_signature='ii', out_signature='i') + def Divide(self, a, b): + return a / b + +dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + +object = Service() + +mainloop = gobject.MainLoop() +mainloop.run() + |