#!/usr/bin/python import gobject import dbus import dbus.service import dbus.mainloop.glib class Agent(dbus.service.Object): @dbus.service.method("org.bluez.Agent", in_signature="", out_signature="") def Release(self): print "Release" mainloop.quit() @dbus.service.method("org.bluez.Agent", in_signature="o", out_signature="s") def RequestPasskey(self, device): print "RequestPasskey (" + device + ")" return "1234" @dbus.service.method("org.bluez.Agent", in_signature="s", out_signature="") def ConfirmModeChange(self, mode): print "ConfirmModeChange (" + mode + ")" return @dbus.service.method("org.bluez.Agent", in_signature="", out_signature="") def Cancel(self): print "Cancel" return 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") path = manager.DefaultAdapter() adapter = dbus.Interface(bus.get_object("org.bluez", path), "org.bluez.Adapter") path = "/test/agent" object = Agent(bus, path) adapter.RegisterAgent(path) print "Agent registered" mainloop = gobject.MainLoop() mainloop.run() #adapter.UnregisterAgent(path) #print "Agent unregistered"