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