test: Initial monitor-near script
authorSamuel Ortiz <sameo@linux.intel.com>
Tue, 3 May 2011 15:11:30 +0000 (17:11 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 21 Oct 2011 06:54:03 +0000 (23:54 -0700)
test/monitor-near [new file with mode: 0755]

diff --git a/test/monitor-near b/test/monitor-near
new file mode 100755 (executable)
index 0000000..bc1daef
--- /dev/null
@@ -0,0 +1,60 @@
+#!/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()