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])
56 def property_changed(name, value, path, interface):
57 iface = interface[interface.rfind(".") + 1:]
58 print "{%s} [%s] %s = %s" % (iface, path, name, pretty(value))
60 def added(name, value, member, path, interface):
61 iface = interface[interface.rfind(".") + 1:]
62 print "{%s} [%s] %s %s" % (iface, member, name, pretty(value))
64 def removed(name, member, path, interface):
65 iface = interface[interface.rfind(".") + 1:]
66 print "{%s} [%s] %s" % (iface, name, member)
68 def event(member, path, interface):
69 iface = interface[interface.rfind(".") + 1:]
70 print "{%s} [%s] %s" % (iface, path, member)
72 def message(msg, args, member, path, interface):
73 iface = interface[interface.rfind(".") + 1:]
74 print "{%s} [%s] %s %s (%s)" % (iface, path, member,
77 def ussd(msg, member, path, interface):
78 iface = interface[interface.rfind(".") + 1:]
79 print "{%s} [%s] %s %s" % (iface, path, member, msg)
81 def value(value, member, path, interface):
82 iface = interface[interface.rfind(".") + 1:]
83 print "{%s} [%s] %s %s" % (iface, path, member, str(value))
85 if __name__ == '__main__':
86 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
88 bus = dbus.SystemBus()
90 bus.add_signal_receiver(property_changed,
92 signal_name = "PropertyChanged",
94 interface_keyword="interface")
96 for member in ["IncomingBarringInEffect",
97 "OutgoingBarringInEffect",
98 "NearMaximumWarning"]:
99 bus.add_signal_receiver(event,
100 bus_name="org.ofono",
101 signal_name = member,
102 member_keyword="member",
104 interface_keyword="interface")
106 for member in ["ModemAdded",
110 bus.add_signal_receiver(added,
111 bus_name="org.ofono",
112 signal_name = member,
113 member_keyword="member",
115 interface_keyword="interface")
117 for member in ["ModemRemoved",
121 bus.add_signal_receiver(removed,
122 bus_name="org.ofono",
123 signal_name = member,
124 member_keyword="member",
126 interface_keyword="interface")
128 for member in ["DisconnectReason", "Forwarded", "BarringActive"]:
129 bus.add_signal_receiver(value,
130 bus_name="org.ofono",
131 signal_name = member,
132 member_keyword="member",
134 interface_keyword="interface")
136 for member in ["IncomingBroadcast", "EmergencyBroadcast",
137 "IncomingMessage", "ImmediateMessage"]:
138 bus.add_signal_receiver(message,
139 bus_name="org.ofono",
140 signal_name = member,
141 member_keyword="member",
143 interface_keyword="interface")
145 for member in ["NotificationReceived", "RequestReceived"]:
146 bus.add_signal_receiver(ussd,
147 bus_name="org.ofono",
148 signal_name = member,
149 member_keyword="member",
151 interface_keyword="interface")
153 mainloop = gobject.MainLoop()