diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2008-06-12 06:19:37 +0000 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2008-06-12 06:19:37 +0000 |
commit | caab6d5c5ecd6e093429ecaa46efc7b3754ac8c6 (patch) | |
tree | acb51b4d87cef73032a7c4d3b4306ba1d5d86da0 | |
parent | 807834685aed273794a99cf1111d18825e04488d (diff) |
Wait for CreatePairedDevice to complete before exiting (i.e. don't exit when Release is called in that case)
-rwxr-xr-x | hcid/simple-agent | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/hcid/simple-agent b/hcid/simple-agent index 23ff131b..0d3dc1f7 100755 --- a/hcid/simple-agent +++ b/hcid/simple-agent @@ -11,11 +11,17 @@ class Rejected(dbus.DBusException): _dbus_error_name = "org.bluez.Error.Rejected" class Agent(dbus.service.Object): + exit_on_release = True + + def set_exit_on_release(self, exit_on_release): + self.exit_on_release = exit_on_release + @dbus.service.method("org.bluez.Agent", in_signature="", out_signature="") def Release(self): print "Release" - mainloop.quit() + if self.exit_on_release: + mainloop.quit() @dbus.service.method("org.bluez.Agent", in_signature="os", out_signature="") @@ -61,11 +67,11 @@ class Agent(dbus.service.Object): def create_device_reply(device): print "New device (%s)" % (device) - sys.exit(0) + mainloop.quit() def create_device_error(error): print "Creating device failed: %s" % (error) - sys.exit(0) + mainloop.quit() if __name__ == '__main__': dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) @@ -83,7 +89,7 @@ if __name__ == '__main__': "org.bluez.Adapter") path = "/test/agent" - object = Agent(bus, path) + agent = Agent(bus, path) mainloop = gobject.MainLoop() @@ -92,6 +98,7 @@ if __name__ == '__main__': device = adapter.FindDevice(sys.argv[2]) adapter.RemoveDevice(device) + agent.set_exit_on_release(False) adapter.CreatePairedDevice(sys.argv[2], path, "DisplayYesNo", reply_handler=create_device_reply, error_handler=create_device_error) |