[Adapt: HAL] Add support for 'Pairing Cancel' request from Remote 61/86061/1
authorAnupam Roy <anupam.r@samsung.com>
Mon, 1 Aug 2016 15:50:24 +0000 (21:20 +0530)
committerAnupam Roy <anupam.r@samsung.com>
Mon, 1 Aug 2016 15:50:24 +0000 (21:20 +0530)
Change-Id: Ief272a4c8b4dd93926c982f21bf3270ac8bb323f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
bt-oal/bluez_hal/src/bt-hal-agent.c
bt-oal/bluez_hal/src/bt-hal-gap-agent.c

index af9cb16..b5c9c99 100644 (file)
@@ -89,6 +89,7 @@ static gboolean __bt_hal_confirm_request(GapAgentPrivate *agent, GDBusProxy *dev
 static gboolean __bt_hal_authorize_request(GapAgentPrivate *agent, GDBusProxy *device,
                                                         const char *uuid);
 static gboolean __bt_hal_authorize_cancel_request(GapAgentPrivate *agent, const char *address);
+static gboolean __bt_hal_pairing_cancel_request(GapAgentPrivate *agent, const char *address);
 static GVariant *__bt_hal_service_getall(GDBusProxy *device, const char *interface);
 static void __bt_hal_agent_release_memory(void);
 static inline void stack_trim(void);
@@ -126,7 +127,7 @@ void* _bt_hal_create_agent(const char *path, gboolean adapter)
        func_cb.passkey_func = __bt_hal_passkey_request;
        func_cb.confirm_func = __bt_hal_confirm_request;
        func_cb.authorize_func = __bt_hal_authorize_request;
-       func_cb.pairing_cancel_func = NULL;
+       func_cb.pairing_cancel_func = __bt_hal_pairing_cancel_request;
        func_cb.authorization_cancel_func = __bt_hal_authorize_cancel_request;
 
        /* Allocate memory*/
@@ -670,6 +671,16 @@ static gboolean __bt_hal_authorize_cancel_request(GapAgentPrivate *agent,
        return TRUE;
 }
 
+static gboolean __bt_hal_pairing_cancel_request(GapAgentPrivate *agent, const char *address)
+{
+        DBG("On Going Pairing is cancelled by remote [%s]", address);
+#ifdef TIZEN_SYSPOPUP_SUPPORTED
+        syspopup_destroy_all();
+#endif
+       __bt_hal_agent_release_memory();
+        return TRUE;
+}
+
 #ifdef TIZEN_SYSPOPUP_SUPPORTED
 int _bt_hal_launch_system_popup(bt_hal_agent_event_type_t event_type,
                const char *device_name,
index ae0b09f..371a151 100644 (file)
@@ -752,6 +752,7 @@ static void __bt_gap_agent_method(GDBusConnection *connection,
                                        sizeof(priv->authorize_addr));
                } else if (priv->cb.pairing_cancel_func &&
                                priv->exec_type == GAP_AGENT_EXEC_PAIRING) {
+                       DBG("Call GAP agent cancel Pairing method.");
                        priv->cb.pairing_cancel_func(priv,
                                        priv->pairing_addr);
                        memset(priv->pairing_addr, 0x00, sizeof(priv->pairing_addr));