diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2012-12-18 05:18:40 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-12-18 05:18:40 +0100 |
commit | 84faeb47be70227f32d1c8276bac60f1899d34b7 (patch) | |
tree | 00cda056687ce10e1bf2d1c52d62533274537e2a /client | |
parent | f70804bdb92bfafc2734186d85400df18f473fc6 (diff) |
client: Handle accepting/rejecting confirmation requests
Diffstat (limited to 'client')
-rw-r--r-- | client/agent.c | 9 | ||||
-rw-r--r-- | client/main.c | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/client/agent.c b/client/agent.c index 31bbdd5ad..518323831 100644 --- a/client/agent.c +++ b/client/agent.c @@ -53,6 +53,15 @@ dbus_bool_t agent_input(DBusConnection *conn, const char *input) if (!pending_message) return FALSE; + if (!strcmp(input, "yes")) + g_dbus_send_reply(conn, pending_message, DBUS_TYPE_INVALID); + else if (!strcmp(input, "no")) + g_dbus_send_error(conn, pending_message, + "org.bluez.Error.Rejected", NULL); + else + g_dbus_send_error(conn, pending_message, + "org.bluez.Error.Canceled", NULL); + g_dbus_send_reply(conn, pending_message, DBUS_TYPE_INVALID); dbus_message_unref(pending_message); diff --git a/client/main.c b/client/main.c index 0213bf0ab..d537582b5 100644 --- a/client/main.c +++ b/client/main.c @@ -844,9 +844,6 @@ static void rl_handler(char *input) char *cmd, *arg; int i; - if (agent_input(dbus_conn, input) == TRUE) - goto done; - if (!input) { rl_insert_text("quit"); rl_redisplay(); @@ -858,6 +855,9 @@ static void rl_handler(char *input) if (!strlen(input)) goto done; + if (agent_input(dbus_conn, input) == TRUE) + goto done; + add_history(input); cmd = strtok_r(input, " ", &arg); |