summaryrefslogtreecommitdiff
path: root/test/test-discovery
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-discovery')
-rwxr-xr-xtest/test-discovery57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/test-discovery b/test/test-discovery
new file mode 100755
index 0000000..22c88c3
--- /dev/null
+++ b/test/test-discovery
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.mainloop.glib
+from optparse import OptionParser, make_option
+
+def device_found(address, properties):
+ print "[ " + address + " ]"
+
+ for key in properties.keys():
+ value = properties[key]
+ if (key == "Class"):
+ print " %s = 0x%06x" % (key, value)
+ else:
+ print " %s = %s" % (key, value)
+
+def property_changed(name, value):
+ if (name == "Discovering" and not value):
+ mainloop.quit()
+
+if __name__ == '__main__':
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SystemBus()
+ manager = dbus.Interface(bus.get_object("org.bluez", "/"),
+ "org.bluez.Manager")
+
+ option_list = [
+ make_option("-i", "--device", action="store",
+ type="string", dest="dev_id"),
+ ]
+ parser = OptionParser(option_list=option_list)
+
+ (options, args) = parser.parse_args()
+
+ if options.dev_id:
+ adapter_path = manager.FindAdapter(options.dev_id)
+ else:
+ adapter_path = manager.DefaultAdapter()
+
+ adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
+ "org.bluez.Adapter")
+
+ bus.add_signal_receiver(device_found,
+ dbus_interface = "org.bluez.Adapter",
+ signal_name = "DeviceFound")
+
+ bus.add_signal_receiver(property_changed,
+ dbus_interface = "org.bluez.Adapter",
+ signal_name = "PropertyChanged")
+
+ adapter.StartDiscovery()
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()