Initialize Tizen 2.3
[framework/connectivity/bluez.git] / mobile / test / test-oob
1 #!/usr/bin/python
2
3 from __future__ import absolute_import, print_function, unicode_literals
4
5 import gobject
6
7 import dbus.mainloop.glib
8
9 def create_device_reply(device):
10         print("Pairing succeed!")
11         mainloop.quit()
12
13 def create_device_error(error):
14         print("Pairing failed.")
15         mainloop.quit()
16
17 if __name__ == '__main__':
18         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
19
20         mainloop = gobject.MainLoop()
21
22         bus = dbus.SystemBus()
23         manager = dbus.Interface(bus.get_object("org.bluez", "/"),
24                                                         "org.bluez.Manager")
25
26         adapter0_path = manager.FindAdapter("hci0")
27         adapter1_path = manager.FindAdapter("hci1")
28
29         adapter0 = dbus.Interface(bus.get_object("org.bluez", adapter0_path),
30                                                         "org.bluez.Adapter")
31         adapter1 = dbus.Interface(bus.get_object("org.bluez", adapter1_path),
32                                                         "org.bluez.Adapter")
33
34         adapter0_address = adapter0.GetProperties()["Address"]
35         adapter1_address = adapter1.GetProperties()["Address"]
36         print("Adapters:")
37         print("    hci0: " + adapter0_address)
38         print("    hci1: " + adapter1_address)
39         print()
40
41         print("Removing any existing bond...")
42
43         try:
44                 device = adapter0.FindDevice(adapter1_address)
45                 adapter0.RemoveDevice(device)
46         except:
47                 pass
48
49         try:
50                 device = adapter1.FindDevice(adapter0_address)
51                 adapter1.RemoveDevice(device)
52         except:
53                 pass
54
55         print("Done.")
56         print()
57         print("Reading local Out of Band data...")
58
59         oob_adapter0 = dbus.Interface(bus.get_object("org.bluez",
60                                         adapter0_path), "org.bluez.OutOfBand")
61         oob_adapter1 = dbus.Interface(bus.get_object("org.bluez",
62                                         adapter1_path), "org.bluez.OutOfBand")
63
64         oob0 = oob_adapter0.ReadLocalData()
65         oob1 = oob_adapter1.ReadLocalData()
66
67         print("Done.")
68         print()
69         print("Exchanging Out of Band data...")
70
71         oob_adapter0.AddRemoteData(adapter1_address, oob1[0], oob1[1])
72         oob_adapter1.AddRemoteData(adapter0_address, oob0[0], oob0[1])
73
74         print("Done.")
75         print()
76         print("Starting to pair.")
77         adapter1.CreatePairedDevice(adapter0_address, "/test/agent_oob",
78                                         "DisplayYesNo",
79                                         reply_handler=create_device_reply,
80                                         error_handler=create_device_error)
81
82         mainloop.run()