Tizen 2.0 Release
[framework/connectivity/bluez.git] / test / test-proximity
1 #!/usr/bin/python
2
3 from __future__ import absolute_import, print_function, unicode_literals
4
5 '''
6 Proximity Monitor test script
7 '''
8
9 import gobject
10
11 import sys
12 import dbus
13 import dbus.mainloop.glib
14 from optparse import OptionParser, make_option
15
16 def property_changed(name, value):
17
18         print("PropertyChanged('%s', '%s')" % (name, value))
19         mainloop.quit()
20
21 if __name__ == "__main__":
22         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
23
24         bus = dbus.SystemBus()
25
26         manager = dbus.Interface(bus.get_object("org.bluez", "/"),
27                                         "org.bluez.Manager")
28
29         option_list = [
30                 make_option("-i", "--adapter", action="store",
31                         type="string", dest="dev_id"),
32                 make_option("-b", "--device", action="store",
33                         type="string", dest="address"),
34
35                 ]
36         parser = OptionParser(option_list=option_list)
37
38         (options, args) = parser.parse_args()
39
40         if options.dev_id:
41                 adapter_path = manager.FindAdapter(options.dev_id)
42         else:
43                 adapter_path = manager.DefaultAdapter()
44
45         adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
46                                                         "org.bluez.Adapter")
47
48         if (len(args) < 1):
49                 print("Usage: %s <command>" % (sys.argv[0]))
50                 print("")
51                 print("  -b MAC LinkLossAlertLevel <none|mild|high>")
52                 print("  -b MAC ImmediateAlertLevel <none|mild|high>")
53                 sys.exit(1)
54
55         device_path = adapter.FindDevice(options.address)
56
57         bus.add_signal_receiver(property_changed, bus_name="org.bluez",
58                                 dbus_interface="org.bluez.ProximityMonitor",
59                                 signal_name="PropertyChanged")
60
61         proximity = dbus.Interface(bus.get_object("org.bluez",
62                                         device_path), "org.bluez.ProximityMonitor")
63
64         print("Proximity SetProperty('%s', '%s')" % (args[0], args[1]))
65         proximity.SetProperty(args[0], args[1])
66
67         mainloop = gobject.MainLoop()
68         mainloop.run()