Loading system/bta/jv/bta_jv_act.cc +14 −25 Original line number Diff line number Diff line Loading @@ -778,16 +778,10 @@ static void bta_jv_start_discovery_cback(uint16_t result, void* user_data) { } } /******************************************************************************* * * Function bta_jv_start_discovery * * Description Discovers services on a remote device * * Returns void * ******************************************************************************/ void bta_jv_start_discovery(tBTA_JV_MSG* p_data) { /* Discovers services on a remote device */ void bta_jv_start_discovery(const RawAddress& bd_addr, uint16_t num_uuid, bluetooth::Uuid* uuid_list, uint32_t rfcomm_slot_id) { tBTA_JV_STATUS status = BTA_JV_FAILURE; APPL_TRACE_DEBUG("bta_jv_start_discovery in, sdp_active:%d", bta_jv_cb.sdp_active); Loading @@ -797,42 +791,37 @@ void bta_jv_start_discovery(tBTA_JV_MSG* p_data) { if (bta_jv_cb.p_dm_cback) { tBTA_JV bta_jv; bta_jv.status = status; bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, p_data->start_discovery.rfcomm_slot_id); bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, rfcomm_slot_id); } return; } /* init the database/set up the filter */ APPL_TRACE_DEBUG( "call SDP_InitDiscoveryDb, p_data->start_discovery.num_uuid:%d", p_data->start_discovery.num_uuid); APPL_TRACE_DEBUG("call SDP_InitDiscoveryDb, num_uuid:%d", num_uuid); SDP_InitDiscoveryDb(p_bta_jv_cfg->p_sdp_db, p_bta_jv_cfg->sdp_db_size, p_data->start_discovery.num_uuid, p_data->start_discovery.uuid_list, 0, NULL); num_uuid, uuid_list, 0, NULL); /* tell SDP to keep the raw data */ p_bta_jv_cfg->p_sdp_db->raw_data = p_bta_jv_cfg->p_sdp_raw_data; p_bta_jv_cfg->p_sdp_db->raw_size = p_bta_jv_cfg->sdp_raw_size; bta_jv_cb.p_sel_raw_data = 0; bta_jv_cb.uuid = p_data->start_discovery.uuid_list[0]; bta_jv_cb.uuid = uuid_list[0]; bta_jv_cb.sdp_active = BTA_JV_SDP_ACT_YES; uint32_t* rfcomm_slot_id = (uint32_t*)osi_malloc(sizeof(uint32_t)); *rfcomm_slot_id = p_data->start_discovery.rfcomm_slot_id; uint32_t* rfcomm_slot_id_copy = (uint32_t*)osi_malloc(sizeof(uint32_t)); *rfcomm_slot_id_copy = rfcomm_slot_id; if (!SDP_ServiceSearchAttributeRequest2( p_data->start_discovery.bd_addr, p_bta_jv_cfg->p_sdp_db, bta_jv_start_discovery_cback, (void*)rfcomm_slot_id)) { if (!SDP_ServiceSearchAttributeRequest2(bd_addr, p_bta_jv_cfg->p_sdp_db, bta_jv_start_discovery_cback, (void*)rfcomm_slot_id_copy)) { bta_jv_cb.sdp_active = BTA_JV_SDP_ACT_NONE; /* failed to start SDP. report the failure right away */ if (bta_jv_cb.p_dm_cback) { tBTA_JV bta_jv; bta_jv.status = status; bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, p_data->start_discovery.rfcomm_slot_id); bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, rfcomm_slot_id); } } /* Loading system/bta/jv/bta_jv_api.cc +5 −11 Original line number Diff line number Diff line Loading @@ -190,20 +190,14 @@ tBTA_JV_STATUS BTA_JvFreeChannel(uint16_t channel, int conn_type) { tBTA_JV_STATUS BTA_JvStartDiscovery(const RawAddress& bd_addr, uint16_t num_uuid, const Uuid* p_uuid_list, uint32_t rfcomm_slot_id) { tBTA_JV_API_START_DISCOVERY* p_msg = (tBTA_JV_API_START_DISCOVERY*)osi_malloc( sizeof(tBTA_JV_API_START_DISCOVERY)); APPL_TRACE_API("%s", __func__); p_msg->hdr.event = BTA_JV_API_START_DISCOVERY_EVT; p_msg->bd_addr = bd_addr; p_msg->num_uuid = num_uuid; memcpy(p_msg->uuid_list, p_uuid_list, num_uuid * sizeof(Uuid)); p_msg->num_attr = 0; p_msg->rfcomm_slot_id = rfcomm_slot_id; bta_sys_sendmsg(p_msg); Uuid* uuid_list_copy = new Uuid[num_uuid]; memcpy(uuid_list_copy, p_uuid_list, num_uuid * sizeof(Uuid)); do_in_bta_thread(FROM_HERE, Bind(&bta_jv_start_discovery, bd_addr, num_uuid, base::Owned(uuid_list_copy), rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading system/bta/jv/bta_jv_int.h +4 −15 Original line number Diff line number Diff line Loading @@ -38,8 +38,7 @@ enum { /* these events are handled by the state machine */ BTA_JV_API_START_DISCOVERY_EVT = BTA_SYS_EVT_START(BTA_ID_JV), BTA_JV_MAX_INT_EVT BTA_JV_MAX_INT_EVT = BTA_SYS_EVT_START(BTA_ID_JV), }; #ifndef BTA_JV_RFC_EV_MASK Loading @@ -47,17 +46,6 @@ enum { (PORT_EV_RXCHAR | PORT_EV_TXEMPTY | PORT_EV_FC | PORT_EV_FCS) #endif /* data type for BTA_JV_API_START_DISCOVERY_EVT */ typedef struct { BT_HDR hdr; RawAddress bd_addr; uint16_t num_uuid; bluetooth::Uuid uuid_list[BTA_JV_MAX_UUIDS]; uint16_t num_attr; uint16_t attr_list[BTA_JV_MAX_ATTRS]; uint32_t rfcomm_slot_id; } tBTA_JV_API_START_DISCOVERY; enum { BTA_JV_PM_FREE_ST = 0, /* empty PM slot */ BTA_JV_PM_IDLE_ST, Loading Loading @@ -138,7 +126,6 @@ typedef struct { typedef union { /* GKI event buffer header */ BT_HDR hdr; tBTA_JV_API_START_DISCOVERY start_discovery; tBTA_JV_API_L2CAP_READ l2cap_read; } tBTA_JV_MSG; Loading Loading @@ -183,7 +170,9 @@ extern void bta_jv_get_channel_id(int32_t type, int32_t channel, uint32_t l2cap_socket_id, uint32_t rfcomm_slot_id); extern void bta_jv_free_scn(int32_t type, uint16_t scn); extern void bta_jv_start_discovery(tBTA_JV_MSG* p_data); extern void bta_jv_start_discovery(const RawAddress& bd_addr, uint16_t num_uuid, bluetooth::Uuid* uuid_list, uint32_t rfcomm_slot_id); extern void bta_jv_create_record(uint32_t rfcomm_slot_id); extern void bta_jv_delete_record(uint32_t handle); extern void bta_jv_l2cap_connect(int32_t type, tBTA_SEC sec_mask, Loading system/bta/jv/bta_jv_main.cc +0 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ typedef void (*tBTA_JV_ACTION)(tBTA_JV_MSG* p_data); /* action function list */ const tBTA_JV_ACTION bta_jv_action[] = { bta_jv_start_discovery, /* BTA_JV_API_START_DISCOVERY_EVT */ }; /******************************************************************************* Loading Loading
system/bta/jv/bta_jv_act.cc +14 −25 Original line number Diff line number Diff line Loading @@ -778,16 +778,10 @@ static void bta_jv_start_discovery_cback(uint16_t result, void* user_data) { } } /******************************************************************************* * * Function bta_jv_start_discovery * * Description Discovers services on a remote device * * Returns void * ******************************************************************************/ void bta_jv_start_discovery(tBTA_JV_MSG* p_data) { /* Discovers services on a remote device */ void bta_jv_start_discovery(const RawAddress& bd_addr, uint16_t num_uuid, bluetooth::Uuid* uuid_list, uint32_t rfcomm_slot_id) { tBTA_JV_STATUS status = BTA_JV_FAILURE; APPL_TRACE_DEBUG("bta_jv_start_discovery in, sdp_active:%d", bta_jv_cb.sdp_active); Loading @@ -797,42 +791,37 @@ void bta_jv_start_discovery(tBTA_JV_MSG* p_data) { if (bta_jv_cb.p_dm_cback) { tBTA_JV bta_jv; bta_jv.status = status; bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, p_data->start_discovery.rfcomm_slot_id); bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, rfcomm_slot_id); } return; } /* init the database/set up the filter */ APPL_TRACE_DEBUG( "call SDP_InitDiscoveryDb, p_data->start_discovery.num_uuid:%d", p_data->start_discovery.num_uuid); APPL_TRACE_DEBUG("call SDP_InitDiscoveryDb, num_uuid:%d", num_uuid); SDP_InitDiscoveryDb(p_bta_jv_cfg->p_sdp_db, p_bta_jv_cfg->sdp_db_size, p_data->start_discovery.num_uuid, p_data->start_discovery.uuid_list, 0, NULL); num_uuid, uuid_list, 0, NULL); /* tell SDP to keep the raw data */ p_bta_jv_cfg->p_sdp_db->raw_data = p_bta_jv_cfg->p_sdp_raw_data; p_bta_jv_cfg->p_sdp_db->raw_size = p_bta_jv_cfg->sdp_raw_size; bta_jv_cb.p_sel_raw_data = 0; bta_jv_cb.uuid = p_data->start_discovery.uuid_list[0]; bta_jv_cb.uuid = uuid_list[0]; bta_jv_cb.sdp_active = BTA_JV_SDP_ACT_YES; uint32_t* rfcomm_slot_id = (uint32_t*)osi_malloc(sizeof(uint32_t)); *rfcomm_slot_id = p_data->start_discovery.rfcomm_slot_id; uint32_t* rfcomm_slot_id_copy = (uint32_t*)osi_malloc(sizeof(uint32_t)); *rfcomm_slot_id_copy = rfcomm_slot_id; if (!SDP_ServiceSearchAttributeRequest2( p_data->start_discovery.bd_addr, p_bta_jv_cfg->p_sdp_db, bta_jv_start_discovery_cback, (void*)rfcomm_slot_id)) { if (!SDP_ServiceSearchAttributeRequest2(bd_addr, p_bta_jv_cfg->p_sdp_db, bta_jv_start_discovery_cback, (void*)rfcomm_slot_id_copy)) { bta_jv_cb.sdp_active = BTA_JV_SDP_ACT_NONE; /* failed to start SDP. report the failure right away */ if (bta_jv_cb.p_dm_cback) { tBTA_JV bta_jv; bta_jv.status = status; bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, p_data->start_discovery.rfcomm_slot_id); bta_jv_cb.p_dm_cback(BTA_JV_DISCOVERY_COMP_EVT, &bta_jv, rfcomm_slot_id); } } /* Loading
system/bta/jv/bta_jv_api.cc +5 −11 Original line number Diff line number Diff line Loading @@ -190,20 +190,14 @@ tBTA_JV_STATUS BTA_JvFreeChannel(uint16_t channel, int conn_type) { tBTA_JV_STATUS BTA_JvStartDiscovery(const RawAddress& bd_addr, uint16_t num_uuid, const Uuid* p_uuid_list, uint32_t rfcomm_slot_id) { tBTA_JV_API_START_DISCOVERY* p_msg = (tBTA_JV_API_START_DISCOVERY*)osi_malloc( sizeof(tBTA_JV_API_START_DISCOVERY)); APPL_TRACE_API("%s", __func__); p_msg->hdr.event = BTA_JV_API_START_DISCOVERY_EVT; p_msg->bd_addr = bd_addr; p_msg->num_uuid = num_uuid; memcpy(p_msg->uuid_list, p_uuid_list, num_uuid * sizeof(Uuid)); p_msg->num_attr = 0; p_msg->rfcomm_slot_id = rfcomm_slot_id; bta_sys_sendmsg(p_msg); Uuid* uuid_list_copy = new Uuid[num_uuid]; memcpy(uuid_list_copy, p_uuid_list, num_uuid * sizeof(Uuid)); do_in_bta_thread(FROM_HERE, Bind(&bta_jv_start_discovery, bd_addr, num_uuid, base::Owned(uuid_list_copy), rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading
system/bta/jv/bta_jv_int.h +4 −15 Original line number Diff line number Diff line Loading @@ -38,8 +38,7 @@ enum { /* these events are handled by the state machine */ BTA_JV_API_START_DISCOVERY_EVT = BTA_SYS_EVT_START(BTA_ID_JV), BTA_JV_MAX_INT_EVT BTA_JV_MAX_INT_EVT = BTA_SYS_EVT_START(BTA_ID_JV), }; #ifndef BTA_JV_RFC_EV_MASK Loading @@ -47,17 +46,6 @@ enum { (PORT_EV_RXCHAR | PORT_EV_TXEMPTY | PORT_EV_FC | PORT_EV_FCS) #endif /* data type for BTA_JV_API_START_DISCOVERY_EVT */ typedef struct { BT_HDR hdr; RawAddress bd_addr; uint16_t num_uuid; bluetooth::Uuid uuid_list[BTA_JV_MAX_UUIDS]; uint16_t num_attr; uint16_t attr_list[BTA_JV_MAX_ATTRS]; uint32_t rfcomm_slot_id; } tBTA_JV_API_START_DISCOVERY; enum { BTA_JV_PM_FREE_ST = 0, /* empty PM slot */ BTA_JV_PM_IDLE_ST, Loading Loading @@ -138,7 +126,6 @@ typedef struct { typedef union { /* GKI event buffer header */ BT_HDR hdr; tBTA_JV_API_START_DISCOVERY start_discovery; tBTA_JV_API_L2CAP_READ l2cap_read; } tBTA_JV_MSG; Loading Loading @@ -183,7 +170,9 @@ extern void bta_jv_get_channel_id(int32_t type, int32_t channel, uint32_t l2cap_socket_id, uint32_t rfcomm_slot_id); extern void bta_jv_free_scn(int32_t type, uint16_t scn); extern void bta_jv_start_discovery(tBTA_JV_MSG* p_data); extern void bta_jv_start_discovery(const RawAddress& bd_addr, uint16_t num_uuid, bluetooth::Uuid* uuid_list, uint32_t rfcomm_slot_id); extern void bta_jv_create_record(uint32_t rfcomm_slot_id); extern void bta_jv_delete_record(uint32_t handle); extern void bta_jv_l2cap_connect(int32_t type, tBTA_SEC sec_mask, Loading
system/bta/jv/bta_jv_main.cc +0 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ typedef void (*tBTA_JV_ACTION)(tBTA_JV_MSG* p_data); /* action function list */ const tBTA_JV_ACTION bta_jv_action[] = { bta_jv_start_discovery, /* BTA_JV_API_START_DISCOVERY_EVT */ }; /******************************************************************************* Loading