summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/passkey-agent.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/passkey-agent.c b/test/passkey-agent.c
index 4a612662..8ac91d27 100644
--- a/test/passkey-agent.c
+++ b/test/passkey-agent.c
@@ -40,6 +40,8 @@
static char *passkey = NULL;
static char *address = NULL;
+static int do_reject = 0;
+
static volatile sig_atomic_t __io_canceled = 0;
static volatile sig_atomic_t __io_terminated = 0;
@@ -88,6 +90,12 @@ static DBusHandlerResult request_message(DBusConnection *conn,
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
+ if (do_reject) {
+ reply = dbus_message_new_error(msg,
+ "org.bluez.Error.Rejected", "");
+ goto send;
+ }
+
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
@@ -99,6 +107,7 @@ static DBusHandlerResult request_message(DBusConnection *conn,
dbus_message_append_args(reply, DBUS_TYPE_STRING, &passkey,
DBUS_TYPE_INVALID);
+send:
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);
@@ -307,6 +316,7 @@ static void usage(void)
static struct option main_options[] = {
{ "default", 0, 0, 'd' },
+ { "reject", 0, 0, 'r' },
{ "path", 1, 0, 'p' },
{ "help", 0, 0, 'h' },
{ 0, 0, 0, 0 }
@@ -327,6 +337,9 @@ int main(int argc, char *argv[])
case 'd':
use_default = 1;
break;
+ case 'r':
+ do_reject = 1;
+ break;
case 'p':
if (optarg[0] != '/') {
fprintf(stderr, "Invalid path\n");