--- test/test-messaging-agent | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-) create mode 100644 test/test-messaging-agent
diff --git a/test/test-messaging-agent b/test/test-messaging-agent new file mode 100644 index 0000000..85d07f2 --- /dev/null +++ b/test/test-messaging-agent @@ -0,0 +1,67 @@ +#!/usr/bin/python + +import gobject +import sys +import dbus +import dbus.service +import dbus.mainloop.glib + +def message_print(method, data, props): + string = "" + for byte in data: + string += str(byte) + print "%s" % method + print "%-15s%s" % ("Text", string) + for key in props.keys(): + print "%-15s%s" % (key, props[key]) + +class MessagingAgent(dbus.service.Object): + @dbus.service.method("org.ofono.MessagingAgent", + in_signature="", out_signature="") + def Release(self): + print "Release" + mainloop.quit() + + @dbus.service.method("org.ofono.MessagingAgent", + in_signature="aya{sv}", out_signature="") + def MessageReceived(self, data, props): + message_print("MessageReceived", data, props) + + @dbus.service.method("org.ofono.MessagingAgent", + in_signature="aya{sv}", out_signature="") + def MessageSendPending(self, data, props): + message_print("MessageSendPending", data, props) + + @dbus.service.method("org.ofono.MessagingAgent", + in_signature="aya{sv}", out_signature="") + def MessageSendStatus(self, data, props): + message_print("MessageSendStatus", data, props) + +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.Messaging" not in properties["Interfaces"]: + continue + + pn = dbus.Interface(bus.get_object('org.ofono', path), + 'org.ofono.Messaging') + + path = "/test/agent" + agent = MessagingAgent(bus, path) + pn.AgentRegister(path) + print "MessagingAgent registered" + + mainloop = gobject.MainLoop() + + try: + mainloop.run() + except KeyboardInterrupt: + pn.AgentUnregister(path) + mainloop.run() -- 1.7.1 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono