Home | History | Annotate | Download | only in test
      1 #!/usr/bin/python
      2 
      3 import gobject
      4 
      5 import dbus
      6 import dbus.mainloop.glib
      7 
      8 def device_found(address, properties):
      9 	print "[ " + address + " ]"
     10 
     11 	for key in properties.keys():
     12 		value = properties[key]
     13 		if (key == "Class"):
     14 			print "    %s = 0x%06x" % (key, value)
     15 		else:
     16 			print "    %s = %s" % (key, value)
     17 
     18 def property_changed(name, value):
     19 	if (name == "Discovering" and not value):
     20 		mainloop.quit()
     21 
     22 if __name__ == '__main__':
     23 	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
     24 
     25 	bus = dbus.SystemBus()
     26 	manager = dbus.Interface(bus.get_object("org.bluez", "/"),
     27 							"org.bluez.Manager")
     28 
     29 	path = manager.DefaultAdapter()
     30 	adapter = dbus.Interface(bus.get_object("org.bluez", path),
     31 							"org.bluez.Adapter")
     32 
     33 	bus.add_signal_receiver(device_found,
     34 			dbus_interface = "org.bluez.Adapter",
     35 					signal_name = "DeviceFound")
     36 
     37 	bus.add_signal_receiver(property_changed,
     38 			dbus_interface = "org.bluez.Adapter",
     39 					signal_name = "PropertyChanged")
     40 
     41 	adapter.StartDiscovery()
     42 
     43 	mainloop = gobject.MainLoop()
     44 	mainloop.run()
     45