6 import dbus.mainloop.glib
8 from dbus.lowlevel import MethodCallMessage, HANDLER_RESULT_NOT_YET_HANDLED
10 def extract_list(list):
18 if b == dbus.Boolean(1):
25 def property_changed_adapter(name, value, path):
26 adapter = path[path.rfind("/") + 1:]
27 if name in ["Polling"]:
28 val = extract_bool(value)
29 elif name in ["Tags"]:
30 val = extract_list(value)
34 print "[Adapter] [%s] %s = %s" % (adapter, name, val)
36 def property_changed_manager(name, value, path):
37 manager = path[path.rfind("/") + 1:]
38 if name in ["Adapters"]:
39 val = extract_list(value)
41 print "[Manager] %s = %s" % (name, val)
44 if __name__ == '__main__':
45 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
47 bus = dbus.SystemBus()
49 bus.add_signal_receiver(property_changed_manager,
51 dbus_interface="org.neard.Manager",
52 signal_name = "PropertyChanged",
55 bus.add_signal_receiver(property_changed_adapter,
57 dbus_interface="org.neard.Adapter",
58 signal_name = "PropertyChanged",
61 mainloop = gobject.MainLoop()