6 import dbus.mainloop.glib
26 if t is dbus.Dictionary:
27 return dict([(dbus2py(k), dbus2py(v)) for k, v in d.items()])
28 if t is dbus.Array and d.signature == "y":
29 return "".join([chr(b) for b in d])
30 if t is dbus.Array or t is list:
31 return [dbus2py(v) for v in d]
32 if t is dbus.Struct or t is tuple:
33 return tuple([dbus2py(v) for v in d])
40 if t in (dict, tuple, list) and len(d) > 0:
42 d = ", ".join(["%s = %s" % (k, pretty(v))
43 for k, v in d.items()])
46 d = " ".join([pretty(e) for e in d])
53 def property_changed(name, value, path, interface):
54 iface = interface[interface.rfind(".") + 1:]
55 print "{%s} [%s] %s = %s" % (iface, path, name, pretty(value))
57 def added(name, value, member, path, interface):
58 iface = interface[interface.rfind(".") + 1:]
59 print "{%s} [%s] %s %s" % (iface, member, name, pretty(value))
61 def removed(name, member, path, interface):
62 iface = interface[interface.rfind(".") + 1:]
63 print "{%s} [%s] %s" % (iface, member, name)
65 def event(member, path, interface):
66 iface = interface[interface.rfind(".") + 1:]
67 print "{%s} [%s] %s" % (iface, path, member)
69 def message(msg, args, member, path, interface):
70 iface = interface[interface.rfind(".") + 1:]
71 print "{%s} [%s] %s %s (%s)" % (iface, path, member,
72 str(msg), pretty(args))
74 def ussd(msg, member, path, interface):
75 iface = interface[interface.rfind(".") + 1:]
76 print "{%s} [%s] %s %s" % (iface, path, member, str(msg))
78 def value(value, member, path, interface):
79 iface = interface[interface.rfind(".") + 1:]
80 print "{%s} [%s] %s %s" % (iface, path, member, str(value))
82 if __name__ == '__main__':
83 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
85 bus = dbus.SystemBus()
87 bus.add_signal_receiver(property_changed,
88 bus_name="org.ofono.dundee",
89 signal_name = "PropertyChanged",
91 interface_keyword="interface")
93 bus.add_signal_receiver(added,
94 bus_name="org.ofono.dundee",
95 signal_name = "DeviceAdded",
96 member_keyword="member",
98 interface_keyword="interface")
100 bus.add_signal_receiver(removed,
101 bus_name="org.ofono.dundee",
102 signal_name = "DeviceRemoved",
103 member_keyword="member",
105 interface_keyword="interface")
108 mainloop = gobject.MainLoop()