#!/usr/bin/python import gobject import dbus import dbus.mainloop.glib def adapter_added(path): print "Adapter with path %s added" % (path) def adapter_removed(path): print "Adapter with path %s removed" % (path) def default_changed(path): print "Default adapter is now at path %s" % (path) 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') manager.connect_to_signal("AdapterAdded", adapter_added) manager.connect_to_signal("AdapterRemoved", adapter_removed) manager.connect_to_signal("DefaultAdapterChanged", default_changed) try: path = manager.DefaultAdapter() default_changed(path) except: pass mainloop = gobject.MainLoop() mainloop.run()