Tizen 2.0 Release
[framework/connectivity/bluez.git] / test / test-serial-proxy
1 #!/usr/bin/python
2
3 from __future__ import absolute_import, print_function, unicode_literals
4
5 import sys
6 import time
7 import dbus
8 import socket
9 from optparse import OptionParser, make_option
10
11 bus = dbus.SystemBus()
12
13 manager = dbus.Interface(bus.get_object("org.bluez", "/"),
14                                                 "org.bluez.Manager")
15 option_list = [
16                 make_option("-i", "--device", action="store",
17                                 type="string", dest="dev_id"),
18                 ]
19 parser = OptionParser(option_list=option_list)
20
21 (options, args) = parser.parse_args()
22
23 if options.dev_id:
24         adapter_path = manager.FindAdapter(options.dev_id)
25 else:
26         adapter_path = manager.DefaultAdapter()
27
28 adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
29                                                         "org.bluez.Adapter")
30
31 if (len(args) < 1):
32         print("Usage: %s <socket_name> [service]" % (sys.argv[0]))
33         sys.exit(1)
34
35 socket_name = args[0]
36
37 if (len(args) < 2):
38         service = "spp"
39 else:
40         service = args[1]
41
42 sk = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
43 sk.bind(socket_name)
44 sk.listen(1)
45
46 proxy_manager = dbus.Interface(bus.get_object("org.bluez", adapter_path),
47                                                 "org.bluez.SerialProxyManager")
48 proxy_path = proxy_manager.CreateProxy(service, socket_name)
49
50 proxy = dbus.Interface(bus.get_object("org.bluez", proxy_path),
51                                                         "org.bluez.SerialProxy")
52 proxy.Enable()
53
54 conn, addr = sk.accept()
55
56 print("Waiting for message")
57
58 while 1:
59         data = conn.recv(1024)
60         if data:
61                 print(data)
62                 break
63
64 proxy.Disable()
65 proxy_manager.RemoveProxy(proxy_path)
66 conn.close()