From 8283d127e6cd2aa74dbbb5232c46be591740bda7 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 2 Nov 2010 14:54:21 -0500 Subject: [PATCH] test: Add test-smart-messaging --- Makefile.am | 3 +- test/test-smart-messaging | 65 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100755 test/test-smart-messaging diff --git a/Makefile.am b/Makefile.am index 6839c36e..cd17fa27 100644 --- a/Makefile.am +++ b/Makefile.am @@ -417,7 +417,8 @@ test_scripts = test/backtrace \ test/disable-gprs \ test/get-icon \ test/set-fast-dormancy \ - test/test-push-notification + test/test-push-notification \ + test/test-smart-messaging if TEST testdir = $(pkglibdir)/test diff --git a/test/test-smart-messaging b/test/test-smart-messaging new file mode 100755 index 00000000..b263eddb --- /dev/null +++ b/test/test-smart-messaging @@ -0,0 +1,65 @@ +#!/usr/bin/python + +import gobject + +import sys +import dbus +import dbus.service +import dbus.mainloop.glib + +class SmartMessagingAgent(dbus.service.Object): + @dbus.service.method("org.ofono.SmartMessagingAgent", + in_signature="", out_signature="") + def Release(self): + print "Release" + mainloop.quit() + + @dbus.service.method("org.ofono.SmartMessagingAgent", + in_signature="aya{sv}", out_signature="") + def ReceiveBusinessCard(self, data, props): + for key in props.keys(): + print "Key: %s, Value: %s" % (key, props[key]) + + string = "" + for byte in data: + string += str(byte) + + print "Received Business Card:" + print string + + @dbus.service.method("org.ofono.SmartMessagingAgent", + in_signature="aya{sv}", out_signature="") + def ReceiveAppointment(self, data, props): + for key in props.keys(): + print "Key: %s, Value: %s" % (key, props[key]) + + string = "" + for byte in data: + string += str(byte) + + print "Received Appointment:" + print string + +if __name__ == '__main__': + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + + bus = dbus.SystemBus() + manager = dbus.Interface(bus.get_object("org.ofono", "/"), + "org.ofono.Manager") + + modems = manager.GetModems() + + for path, properties in modems: + if "org.ofono.SmartMessaging" not in properties["Interfaces"]: + continue + + pn = dbus.Interface(bus.get_object('org.ofono', path), + 'org.ofono.SmartMessaging') + + path = "/test/agent" + agent = SmartMessagingAgent(bus, path) + pn.RegisterAgent(path) + print "Agent registered" + + mainloop = gobject.MainLoop() + mainloop.run()