Return-Path: From: Ravi kumar Veeramally To: linux-bluetooth@vger.kernel.org Cc: Ravi kumar Veeramally Subject: [PATCH_v3 3/3] android/pan: Handle connection and control state notifications Date: Wed, 13 Nov 2013 11:25:27 +0200 Message-Id: <1384334727-25940-3-git-send-email-ravikumar.veeramally@linux.intel.com> In-Reply-To: <1384334727-25940-1-git-send-email-ravikumar.veeramally@linux.intel.com> References: <1384334727-25940-1-git-send-email-ravikumar.veeramally@linux.intel.com> Sender: linux-bluetooth-owner@vger.kernel.org List-ID: --- android/hal-pan.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/android/hal-pan.c b/android/hal-pan.c index 851c5d2..2bc560e 100644 --- a/android/hal-pan.c +++ b/android/hal-pan.c @@ -31,10 +31,41 @@ static bool interface_ready(void) return cbs != NULL; } +static void handle_conn_state(void *buf) +{ + struct hal_ev_pan_conn_state *ev = buf; + + if (cbs->connection_state_cb) + cbs->connection_state_cb(ev->state, ev->status, + (bt_bdaddr_t *) ev->bdaddr, + ev->local_role, ev->remote_role); +} + +static void handle_ctrl_state(void *buf) +{ + struct hal_ev_pan_ctrl_state *ev = buf; + + if (cbs->control_state_cb) + cbs->control_state_cb(ev->state, ev->status, + ev->local_role, (char *)ev->name); +} + void bt_notify_pan(uint8_t opcode, void *buf, uint16_t len) { if (!interface_ready()) return; + + switch (opcode) { + case HAL_EV_PAN_CONN_STATE: + handle_conn_state(buf); + break; + case HAL_EV_PAN_CTRL_STATE: + handle_ctrl_state(buf); + break; + default: + DBG("Unhandled callback opcode=0x%x", opcode); + break; + } } static bt_status_t pan_enable(int local_role) -- 1.8.3.2