5758df0d17ea0df8e99a3725bf5906575939b808
[profile/ivi/neard.git] / test / monitor-near
1 #!/usr/bin/python
2
3 import gobject
4
5 import dbus
6 import dbus.mainloop.glib
7
8 from dbus.lowlevel import MethodCallMessage, HANDLER_RESULT_NOT_YET_HANDLED
9
10 def extract_list(list):
11         val = "["
12         for i in list:
13                 val += " " + str(i)
14         val += " ]"
15         return val
16
17 def extract_bool(b):
18         if b == dbus.Boolean(1):
19            val = "true"
20         else:
21                 val = "false"
22         return val      
23
24
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)
31     else:
32            val = str(value)
33
34     print "[Adapter] [%s] %s = %s" % (adapter, name, val)
35
36 def property_changed_manager(name, value, path):
37     manager = path[path.rfind("/") + 1:]
38     if name in ["Adapters"]:
39            val = extract_list(value)
40
41     print "[Manager] %s = %s" % (name, val)
42
43
44 if __name__ == '__main__':
45         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
46
47         bus = dbus.SystemBus()
48
49         bus.add_signal_receiver(property_changed_manager,
50                                 bus_name="org.neard",
51                                 dbus_interface="org.neard.Manager",
52                                 signal_name = "PropertyChanged",
53                                 path_keyword="path")
54
55         bus.add_signal_receiver(property_changed_adapter,
56                                 bus_name="org.neard",
57                                 dbus_interface="org.neard.Adapter",
58                                 signal_name = "PropertyChanged",
59                                 path_keyword="path")
60
61         mainloop = gobject.MainLoop()
62         mainloop.run()