tizen 2.3 release
[framework/connectivity/bluez.git] / test / test-adapter
1 #!/usr/bin/python
2
3 from __future__ import absolute_import, print_function, unicode_literals
4
5 from optparse import OptionParser, make_option
6 import sys
7 import time
8 import dbus
9 import bluezutils
10
11 bus = dbus.SystemBus()
12
13 option_list = [
14                 make_option("-i", "--device", action="store",
15                                 type="string", dest="dev_id"),
16                 ]
17 parser = OptionParser(option_list=option_list)
18
19 (options, args) = parser.parse_args()
20
21 adapter_path = bluezutils.find_adapter(options.dev_id).object_path
22 adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
23                                         "org.freedesktop.DBus.Properties")
24
25 if (len(args) < 1):
26         print("Usage: %s <command>" % (sys.argv[0]))
27         print("")
28         print("  address")
29         print("  list")
30         print("  name")
31         print("  alias [alias]")
32         print("  powered [on/off]")
33         print("  pairable [on/off]")
34         print("  pairabletimeout [timeout]")
35         print("  discoverable [on/off]")
36         print("  discoverabletimeout [timeout]")
37         print("  discovering")
38         sys.exit(1)
39
40 if (args[0] == "address"):
41         addr = adapter.Get("org.bluez.Adapter1", "Address")
42         print(addr)
43         sys.exit(0)
44
45 if (args[0] == "name"):
46         name = adapter.Get("org.bluez.Adapter1", "Name")
47         print(name)
48         sys.exit(0)
49
50 if (args[0] == "alias"):
51         if (len(args) < 2):
52                 alias = adapter.Get("org.bluez.Adapter1", "Alias")
53                 print(alias)
54         else:
55                 adapter.Set("org.bluez.Adapter1", "Alias", args[1])
56         sys.exit(0)
57
58 if (args[0] == "list"):
59         if (len(args) < 2):
60                 om = dbus.Interface(bus.get_object("org.bluez", "/"),
61                                         "org.freedesktop.DBus.ObjectManager")
62                 objects = om.GetManagedObjects()
63                 for path, interfaces in objects.iteritems():
64                         if "org.bluez.Adapter1" not in interfaces:
65                                 continue
66
67                         print(" [ %s ]" % (path))
68
69                         props = interfaces["org.bluez.Adapter1"]
70
71                         for (key, value) in props.items():
72                                 if (key == "Class"):
73                                         print("    %s = 0x%06x" % (key, value))
74                                 else:
75                                         print("    %s = %s" % (key, value))
76                         print()
77         sys.exit(0)
78
79 if (args[0] == "powered"):
80         if (len(args) < 2):
81                 powered = adapter.Get("org.bluez.Adapter1", "Powered")
82                 print(powered)
83         else:
84                 if (args[1] == "on"):
85                         value = dbus.Boolean(1)
86                 elif (args[1] == "off"):
87                         value = dbus.Boolean(0)
88                 else:
89                         value = dbus.Boolean(args[1])
90                 adapter.Set("org.bluez.Adapter1", "Powered", value)
91         sys.exit(0)
92
93 if (args[0] == "pairable"):
94         if (len(args) < 2):
95                 pairable = adapter.Get("org.bluez.Adapter1", "Pairable")
96                 print(pairable)
97         else:
98                 if (args[1] == "on"):
99                         value = dbus.Boolean(1)
100                 elif (args[1] == "off"):
101                         value = dbus.Boolean(0)
102                 else:
103                         value = dbus.Boolean(args[1])
104                 adapter.Set("org.bluez.Adapter1", "Pairable", value)
105         sys.exit(0)
106
107 if (args[0] == "pairabletimeout"):
108         if (len(args) < 2):
109                 pt = adapter.Get("org.bluez.Adapter1", "PairableTimeout")
110                 print(pt)
111         else:
112                 timeout = dbus.UInt32(args[1])
113                 adapter.Set("org.bluez.Adapter1", "PairableTimeout", timeout)
114         sys.exit(0)
115
116 if (args[0] == "discoverable"):
117         if (len(args) < 2):
118                 discoverable = adapter.Get("org.bluez.Adapter1", "Discoverable")
119                 print(discoverable)
120         else:
121                 if (args[1] == "on"):
122                         value = dbus.Boolean(1)
123                 elif (args[1] == "off"):
124                         value = dbus.Boolean(0)
125                 else:
126                         value = dbus.Boolean(args[1])
127                 adapter.Set("org.bluez.Adapter1", "Discoverable", value)
128         sys.exit(0)
129
130 if (args[0] == "discoverabletimeout"):
131         if (len(args) < 2):
132                 dt = adapter.Get("org.bluez.Adapter1", "DiscoverableTimeout")
133                 print(dt)
134         else:
135                 to = dbus.UInt32(args[1])
136                 adapter.Set("org.bluez.Adapter1", "DiscoverableTimeout", to)
137         sys.exit(0)
138
139 if (args[0] == "discovering"):
140         discovering = adapter.Get("org.bluez.Adapter1", "Discovering")
141         print(discovering)
142         sys.exit(0)
143
144 print("Unknown command")
145 sys.exit(1)