Tizen 2.0 Release
[framework/connectivity/bluez.git] / test / test-health-sink
1 #!/usr/bin/python
2
3 from __future__ import absolute_import, print_function, unicode_literals
4 # -*- coding: utf-8 -*-
5
6 import dbus
7 import dbus.service
8 import gobject
9 from dbus.mainloop.glib import DBusGMainLoop
10 import sys
11
12 DBusGMainLoop(set_as_default=True)
13 loop = gobject.MainLoop()
14
15 bus = dbus.SystemBus()
16
17 hdp_manager = dbus.Interface(bus.get_object("org.bluez", "/org/bluez"),
18                                                 "org.bluez.HealthManager")
19 app_path = hdp_manager.CreateApplication({"DataType": dbus.types.UInt16(4103),
20                                         "Role": "sink"})
21
22 print(app_path)
23
24 manager = dbus.Interface(bus.get_object("org.bluez", "/"),
25                                                 "org.bluez.Manager")
26
27 adapters = manager.ListAdapters()
28
29 i = 1
30 for ad in adapters:
31         print("%d. %s" % (i, ad))
32         i = i + 1
33
34 print("Select an adapter: ",)
35 select = None
36 while select == None:
37         try:
38                 pos = int(sys.stdin.readline()) - 1
39                 if pos < 0:
40                         raise TypeError
41                 select = adapters[pos]
42         except (TypeError, IndexError, ValueError):
43                 print("Wrong selection, try again: ",)
44         except KeyboardInterrupt:
45                 sys.exit()
46
47 adapter =  dbus.Interface(bus.get_object("org.bluez", select),
48                                                 "org.bluez.Adapter")
49
50 devices = adapter.ListDevices()
51
52 if len(devices) == 0:
53         print("No devices available")
54         sys.exit()
55
56 i = 1
57 for dev in devices:
58         print("%d. %s" % (i, dev))
59         i = i + 1
60
61 print("Select a device: ",)
62 select = None
63 while select == None:
64         try:
65                 pos = int(sys.stdin.readline()) - 1
66                 if pos < 0:
67                         raise TypeError
68                 select = devices[pos]
69         except (TypeError, IndexError, ValueError):
70                 print("Wrong selection, try again: ",)
71         except KeyboardInterrupt:
72                 sys.exit()
73
74 print("Connecting to %s" % (select))
75 device = dbus.Interface(bus.get_object("org.bluez", select),
76                                         "org.bluez.HealthDevice")
77
78 chan = device.CreateChannel(app_path, "Any")
79
80 print(chan)
81
82 print("Push Enter for finishing")
83 sys.stdin.readline()
84
85 hdp_manager.DestroyApplication(app_path)