--- /dev/null
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.mainloop.glib
+
+from dbus.lowlevel import MethodCallMessage, HANDLER_RESULT_NOT_YET_HANDLED
+
+def extract_list(list):
+ val = "["
+ for i in list:
+ val += " " + str(i)
+ val += " ]"
+ return val
+
+def extract_bool(b):
+ if b == dbus.Boolean(1):
+ val = "true"
+ else:
+ val = "false"
+ return val
+
+
+def property_changed_adapter(name, value, path):
+ adapter = path[path.rfind("/") + 1:]
+ if name in ["Polling"]:
+ val = extract_bool(value)
+ else:
+ val = str(value)
+
+ print "[Adapter] [%s] %s = %s" % (adapter, name, val)
+
+def property_changed_manager(name, value, path):
+ manager = path[path.rfind("/") + 1:]
+ if name in ["Adapters"]:
+ val = extract_list(value)
+
+ print "[Manager] %s = %s" % (name, val)
+
+
+if __name__ == '__main__':
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SessionBus()
+
+ bus.add_signal_receiver(property_changed_manager,
+ bus_name="org.neard",
+ dbus_interface="org.neard.Manager",
+ signal_name = "PropertyChanged",
+ path_keyword="path")
+
+ bus.add_signal_receiver(property_changed_adapter,
+ bus_name="org.neard",
+ dbus_interface="org.neard.Adapter",
+ signal_name = "PropertyChanged",
+ path_keyword="path")
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()