client: Add cancel-pairing command
authorMiao-chen Chou <mcchou@chromium.org>
Fri, 21 Aug 2020 07:28:12 +0000 (00:28 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 12 Apr 2021 09:00:50 +0000 (14:30 +0530)
This adds cancel-pairing command which can be used to cancel the ongoing
pairing.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
client/main.c

index b3e4fe2..86f16dc 100644 (file)
@@ -1748,6 +1748,39 @@ static void cmd_pair(int argc, char *argv[])
        bt_shell_printf("Attempting to pair with %s\n", proxy_address(proxy));
 }
 
+static void cancel_pairing_reply(DBusMessage *message, void *user_data)
+{
+       DBusError error;
+
+       dbus_error_init(&error);
+
+       if (dbus_set_error_from_message(&error, message) == TRUE) {
+               bt_shell_printf("Failed to cancel pairing: %s\n", error.name);
+               dbus_error_free(&error);
+               return;
+       }
+
+       bt_shell_printf("Cancel pairing successful\n");
+}
+
+static void cmd_cancel_pairing(int argc, char *argv[])
+{
+       GDBusProxy *proxy;
+
+       proxy = find_device(argc, argv);
+       if (!proxy)
+               return;
+
+       if (g_dbus_proxy_method_call(proxy, "CancelPairing", NULL,
+                               cancel_pairing_reply, NULL, NULL) == FALSE) {
+               bt_shell_printf("Failed to cancel pairing\n");
+               return;
+       }
+
+       bt_shell_printf("Attempting to cancel pairing with %s\n",
+                                                       proxy_address(proxy));
+}
+
 static void cmd_trust(int argc, char *argv[])
 {
        GDBusProxy *proxy;
@@ -2822,6 +2855,8 @@ static const struct bt_shell_menu main_menu = {
                                                        dev_generator },
        { "pair",         "[dev]",    cmd_pair, "Pair with device",
                                                        dev_generator },
+       { "cancel-pairing",  "[dev]",    cmd_cancel_pairing,
+                               "Cancel pairing with device", dev_generator },
        { "trust",        "[dev]",    cmd_trust, "Trust device",
                                                        dev_generator },
        { "untrust",      "[dev]",    cmd_untrust, "Untrust device",