From 001b6bbb50d8d371015efc12401ae1a2014b5f20 Mon Sep 17 00:00:00 2001 From: Syed Ibrahim M Date: Mon, 28 May 2012 18:28:23 +0530 Subject: Modified the BT stack to check for HID_VIRTUAL_UNPLUG SDP attribute and send a virtual unplug for all HID devices for device disconnect event; Change-Id: I0068958800103037998eeaa01a45aad1f1605729 --- bta/hh/bta_hh_act.c | 3 +++ bta/include/bta_hh_api.h | 1 + 2 files changed, 4 insertions(+) (limited to 'bta') diff --git a/bta/hh/bta_hh_act.c b/bta/hh/bta_hh_act.c index 163597e..0b771ab 100644 --- a/bta/hh/bta_hh_act.c +++ b/bta/hh/bta_hh_act.c @@ -873,12 +873,14 @@ void bta_hh_maint_dev_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data) p_dev_info->app_id); /* update cb_index[] map */ bta_hh_cb.cb_index[dev_handle] = p_cb->index; + dev_info.attr_mask = p_dev_info->attr_mask; } } else /* device already been added */ { dev_info.handle = p_cb->hid_handle; dev_info.status = BTA_HH_OK; + dev_info.attr_mask = p_dev_info->attr_mask; } #if BTA_HH_DEBUG bta_hh_trace_dev_db(); @@ -899,6 +901,7 @@ void bta_hh_maint_dev_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data) bta_hh_clean_up_kdev(p_cb); } } + dev_info.attr_mask = 0; /* Reset the attribute mask */ break; default: diff --git a/bta/include/bta_hh_api.h b/bta/include/bta_hh_api.h index dd9a528..7be05db 100644 --- a/bta/include/bta_hh_api.h +++ b/bta/include/bta_hh_api.h @@ -173,6 +173,7 @@ typedef struct BD_ADDR bda; /* HID device bd address */ tBTA_HH_STATUS status; /* operation status */ UINT8 handle; /* device handle */ + UINT16 attr_mask; /* HID Device attribute Mask*/ } tBTA_HH_CONN; typedef tBTA_HH_CONN tBTA_HH_DEV_INFO; -- cgit v1.1