From: Anupam Roy Date: Mon, 1 Aug 2016 15:20:00 +0000 (+0530) Subject: [Adapt: HAL] Add support for 'Authorize Cancel' request from Remote X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F60%2F86060%2F1;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git [Adapt: HAL] Add support for 'Authorize Cancel' request from Remote Change-Id: I4a797ea959210a13116aeac3e90419f2cb7adf45 Signed-off-by: Anupam Roy --- diff --git a/bt-oal/bluez_hal/src/bt-hal-agent.c b/bt-oal/bluez_hal/src/bt-hal-agent.c index 077e696..af9cb16 100644 --- a/bt-oal/bluez_hal/src/bt-hal-agent.c +++ b/bt-oal/bluez_hal/src/bt-hal-agent.c @@ -88,6 +88,7 @@ static gboolean __bt_hal_confirm_request(GapAgentPrivate *agent, GDBusProxy *dev guint passkey); 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 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.confirm_func = __bt_hal_confirm_request; func_cb.authorize_func = __bt_hal_authorize_request; func_cb.pairing_cancel_func = NULL; - func_cb.authorization_cancel_func = NULL; + func_cb.authorization_cancel_func = __bt_hal_authorize_cancel_request; /* Allocate memory*/ agent = g_new0(GapAgentPrivate, 1); @@ -657,6 +658,18 @@ done: return TRUE; } +static gboolean __bt_hal_authorize_cancel_request(GapAgentPrivate *agent, + const char *address) +{ + DBG("On Going Authorization is cancelled by remote [%s]", address); + gap_agent_reply_authorize(agent, GAP_AGENT_CANCEL, NULL); +#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, diff --git a/bt-oal/bluez_hal/src/bt-hal-gap-agent.c b/bt-oal/bluez_hal/src/bt-hal-gap-agent.c index 41ec65b..ae0b09f 100644 --- a/bt-oal/bluez_hal/src/bt-hal-gap-agent.c +++ b/bt-oal/bluez_hal/src/bt-hal-gap-agent.c @@ -745,6 +745,7 @@ static void __bt_gap_agent_method(GDBusConnection *connection, */ if (priv->cb.authorization_cancel_func && priv->exec_type == GAP_AGENT_EXEC_AUTHORZATION) { + DBG("Call GAP agent cancel Authorization method."); priv->cb.authorization_cancel_func(priv, priv->authorize_addr); memset(priv->authorize_addr, 0x00,