diff --git a/test/simple-agent b/test/simple-agent
index 1a5b4a6..092dbe2 100755
--- a/test/simple-agent
+++ b/test/simple-agent
import dbus.mainloop.glib
from optparse import OptionParser
+device_obj = None
+
def ask(prompt):
try:
return raw_input(prompt)
mainloop.quit()
def pair_error(error):
- print("Creating device failed: %s" % (error))
+ err_name = error.get_dbus_name()
+ if err_name == "org.freedesktop.DBus.Error.NoReply" and device_obj:
+ print("Timed out. Cancelling pairing")
+ device_obj.CancelPairing()
+ else:
+ print("Creating device failed: %s" % (error))
+
+
mainloop.quit()
if __name__ == '__main__':
parser = OptionParser()
parser.add_option("-c", "--capability", action="store",
type="string", dest="capability")
+ parser.add_option("-t", "--timeout", action="store",
+ type="int", dest="timeout",
+ default=60000)
(options, args) = parser.parse_args()
if options.capability:
capability = options.capability
"org.bluez.Device")
agent.set_exit_on_release(False)
- device.Pair(path, capability, timeout=60000,
+ device.Pair(path, capability, timeout=options.timeout,
reply_handler=pair_reply,
error_handler=pair_error)
+ device_obj = device
else:
adapter.RegisterAgent(path, capability)
print("Agent registered")