Upgrade ofono to 1.2
[profile/ivi/ofono.git] / test / test-smart-messaging
1 #!/usr/bin/python
2
3 import gobject
4
5 import sys
6 import dbus
7 import dbus.service
8 import dbus.mainloop.glib
9
10 class SmartMessagingAgent(dbus.service.Object):
11         @dbus.service.method("org.ofono.SmartMessagingAgent",
12                                         in_signature="", out_signature="")
13         def Release(self):
14                 print "Release"
15                 mainloop.quit()
16
17         @dbus.service.method("org.ofono.SmartMessagingAgent",
18                                 in_signature="aya{sv}", out_signature="")
19         def ReceiveBusinessCard(self, data, props):
20                 for key in props.keys():
21                         print "Key: %s, Value: %s" % (key, props[key])
22
23                 string = ""
24                 for byte in data:
25                         string += str(byte)
26
27                 print "Received Business Card:"
28                 print string
29
30         @dbus.service.method("org.ofono.SmartMessagingAgent",
31                                 in_signature="aya{sv}", out_signature="")
32         def ReceiveAppointment(self, data, props):
33                 for key in props.keys():
34                         print "Key: %s, Value: %s" % (key, props[key])
35
36                 string = ""
37                 for byte in data:
38                         string += str(byte)
39
40                 print "Received Appointment:"
41                 print string
42
43 if __name__ == '__main__':
44         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
45
46         bus = dbus.SystemBus()
47         manager = dbus.Interface(bus.get_object("org.ofono", "/"),
48                                                         "org.ofono.Manager")
49
50         modems = manager.GetModems()
51
52         for path, properties in modems:
53                 if "org.ofono.SmartMessaging" not in properties["Interfaces"]:
54                         continue
55
56                 pn = dbus.Interface(bus.get_object('org.ofono', path),
57                                         'org.ofono.SmartMessaging')
58
59         path = "/test/agent"
60         agent = SmartMessagingAgent(bus, path)
61         pn.RegisterAgent(path)
62         print "Agent registered"
63
64         mainloop = gobject.MainLoop()
65
66         try:
67                 mainloop.run()
68         except KeyboardInterrupt:
69                 pn.UnregisterAgent(path)
70                 mainloop.run()