From dc1c0f5cf4f3edf6010e1210ca73857c3e6bd8e3 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Tue, 3 May 2011 17:11:30 +0200 Subject: [PATCH] test: Initial monitor-near script --- test/monitor-near | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 test/monitor-near diff --git a/test/monitor-near b/test/monitor-near new file mode 100755 index 0000000..bc1daef --- /dev/null +++ b/test/monitor-near @@ -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() -- 2.7.4