~bluetooth/bluez/vivid-phone-overlay

« back to all changes in this revision

Viewing changes to test/test-discovery

  • Committer: Simon Fels
  • Date: 2015-09-11 09:01:46 UTC
  • Revision ID: morphis@gravedo.de-20150911090146-4c0ln9s7ec3xf0nx
Import package bluez_4.101-0ubuntu25.1~overlay4 from stable phone overlay PPA

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python3
 
2
 
 
3
from gi.repository import GObject
 
4
 
 
5
import dbus
 
6
import dbus.mainloop.glib
 
7
from optparse import OptionParser, make_option
 
8
 
 
9
def device_found(address, properties):
 
10
        print("[ " + address + " ]")
 
11
 
 
12
        for key in properties.keys():
 
13
                value = properties[key]
 
14
                if type(value) is dbus.String:
 
15
                        value = unicode(value).encode('ascii', 'replace')
 
16
                if (key == "Class"):
 
17
                        print("    %s = 0x%06x" % (key, value))
 
18
                else:
 
19
                        print("    %s = %s" % (key, value))
 
20
 
 
21
        print()
 
22
 
 
23
def property_changed(name, value):
 
24
        if (name == "Discovering" and not value):
 
25
                mainloop.quit()
 
26
 
 
27
if __name__ == '__main__':
 
28
        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
 
29
 
 
30
        bus = dbus.SystemBus()
 
31
        manager = dbus.Interface(bus.get_object("org.bluez", "/"),
 
32
                                                        "org.bluez.Manager")
 
33
 
 
34
        option_list = [
 
35
                        make_option("-i", "--device", action="store",
 
36
                                        type="string", dest="dev_id"),
 
37
                        ]
 
38
        parser = OptionParser(option_list=option_list)
 
39
 
 
40
        (options, args) = parser.parse_args()
 
41
 
 
42
        if options.dev_id:
 
43
                adapter_path = manager.FindAdapter(options.dev_id)
 
44
        else:
 
45
                adapter_path = manager.DefaultAdapter()
 
46
 
 
47
        adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
 
48
                                                        "org.bluez.Adapter")
 
49
 
 
50
        bus.add_signal_receiver(device_found,
 
51
                        dbus_interface = "org.bluez.Adapter",
 
52
                                        signal_name = "DeviceFound")
 
53
 
 
54
        bus.add_signal_receiver(property_changed,
 
55
                        dbus_interface = "org.bluez.Adapter",
 
56
                                        signal_name = "PropertyChanged")
 
57
 
 
58
        adapter.StartDiscovery()
 
59
 
 
60
        mainloop = GObject.MainLoop()
 
61
        mainloop.run()