Loading system/bta/dm/bta_dm_api.cc +3 −2 Original line number Diff line number Diff line Loading @@ -111,9 +111,10 @@ void BTA_DmSearchCancel(void) { bta_dm_disc_stop_device_discovery(); } * Returns void * ******************************************************************************/ void BTA_DmDiscover(const RawAddress& bd_addr, tBTA_DM_SEARCH_CBACK* p_cback, void BTA_DmDiscover(const RawAddress& bd_addr, service_discovery_callbacks cbacks, tBT_TRANSPORT transport) { bta_dm_disc_start_service_discovery(p_cback, bd_addr, transport); bta_dm_disc_start_service_discovery(cbacks, bd_addr, transport); } /******************************************************************************* Loading system/bta/dm/bta_dm_disc.cc +20 −19 Original line number Diff line number Diff line Loading @@ -341,7 +341,7 @@ static void bta_dm_discover(tBTA_DM_MSG* p_data) { bta_dm_gattc_register(); bta_dm_search_cb.p_service_search_cback = p_data->discover.p_cback; bta_dm_search_cb.service_search_cbacks = p_data->discover.cbacks; bta_dm_search_cb.services_to_search = bta_dm_search_cb.services; bta_dm_search_cb.service_index = 0; bta_dm_search_cb.services_found = 0; Loading Loading @@ -485,7 +485,7 @@ static void bta_dm_remote_name_cmpl(const tBTA_DM_MSG* p_data) { // Callback with this property if (bta_dm_search_cb.p_device_search_cback != nullptr || bta_dm_search_cb.p_service_search_cback != nullptr) { bta_dm_search_cb.service_search_cbacks.legacy != nullptr) { tBTA_DM_SEARCH search_data = { .disc_res = // tBTA_DM_DISC_RES { Loading @@ -508,8 +508,8 @@ static void bta_dm_remote_name_cmpl(const tBTA_DM_MSG* p_data) { if (bta_dm_search_cb.p_device_search_cback != nullptr) { bta_dm_search_cb.p_device_search_cback(BTA_DM_NAME_READ_EVT, &search_data); } else if (bta_dm_search_cb.p_service_search_cback != nullptr) { bta_dm_search_cb.p_service_search_cback(BTA_DM_NAME_READ_EVT, } else if (bta_dm_search_cb.service_search_cbacks.legacy != nullptr) { bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_NAME_READ_EVT, &search_data); } } else { Loading Loading @@ -668,8 +668,8 @@ static void bta_dm_sdp_result(tBTA_DM_MSG* p_data) { bta_dm_get_remname()); result.disc_ble_res.services = &gatt_uuids; bta_dm_search_cb.p_service_search_cback(BTA_DM_GATT_OVER_SDP_RES_EVT, &result); bta_dm_search_cb.service_search_cbacks.legacy( BTA_DM_GATT_OVER_SDP_RES_EVT, &result); } } else { /* SDP_DB_FULL means some records with the Loading Loading @@ -735,7 +735,8 @@ static void bta_dm_sdp_result(tBTA_DM_MSG* p_data) { result.did_res.vendor_id = di_record.rec.vendor; result.did_res.product_id = di_record.rec.product; result.did_res.version = di_record.rec.version; bta_dm_search_cb.p_service_search_cback(BTA_DM_DID_RES_EVT, &result); bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_DID_RES_EVT, &result); } #endif Loading Loading @@ -847,7 +848,7 @@ static void bta_dm_read_dis_cmpl(const RawAddress& addr, result.did_res.vendor_id = p_dis_value->pnp_id.vendor_id; result.did_res.product_id = p_dis_value->pnp_id.product_id; result.did_res.version = p_dis_value->pnp_id.product_version; bta_dm_search_cb.p_service_search_cback(BTA_DM_DID_RES_EVT, &result); bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_DID_RES_EVT, &result); } bta_dm_execute_queued_request(); Loading Loading @@ -913,9 +914,9 @@ static void bta_dm_search_cmpl() { // send all result back to app if (send_gatt_results) { if (bta_dm_search_cb.p_service_search_cback) { if (bta_dm_search_cb.service_search_cbacks.legacy) { log::info("Sending GATT results to upper layer"); bta_dm_search_cb.p_service_search_cback(BTA_DM_GATT_OVER_LE_RES_EVT, bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_GATT_OVER_LE_RES_EVT, &result); } } Loading Loading @@ -958,7 +959,7 @@ static void bta_dm_disc_result(tBTA_DM_MSG* p_data) { if (!is_gatt_over_ble && (bta_dm_search_cb.services & ((BTA_ALL_SERVICE_MASK | BTA_USER_SERVICE_MASK) & ~BTA_BLE_SERVICE_MASK))) bta_dm_search_cb.p_service_search_cback(BTA_DM_DISC_RES_EVT, bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_DISC_RES_EVT, &p_data->disc_result.result); get_gatt_interface().BTA_GATTC_CancelOpen(0, bta_dm_search_cb.peer_bdaddr, Loading @@ -985,9 +986,9 @@ static void bta_dm_search_result(tBTA_DM_MSG* p_data) { if ((!bta_dm_search_cb.services) || ((bta_dm_search_cb.services) && (p_data->disc_result.result.disc_res.services))) { if (bta_dm_search_cb.p_service_search_cback) { bta_dm_search_cb.p_service_search_cback(BTA_DM_DISC_RES_EVT, &p_data->disc_result.result); if (bta_dm_search_cb.service_search_cbacks.legacy) { bta_dm_search_cb.service_search_cbacks.legacy( BTA_DM_DISC_RES_EVT, &p_data->disc_result.result); } else { log::warn("Received search result without valid callback"); } Loading Loading @@ -2400,7 +2401,7 @@ void bta_dm_disc_stop_device_discovery() { bta_sys_sendmsg(p_msg); } void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK* p_cback, void bta_dm_disc_start_service_discovery(service_discovery_callbacks cbacks, const RawAddress& bd_addr, tBT_TRANSPORT transport) { tBTA_DM_API_DISCOVER* p_msg = Loading @@ -2409,7 +2410,7 @@ void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK* p_cback, p_msg->hdr.event = BTA_DM_API_DISCOVER_EVT; p_msg->bd_addr = bd_addr; p_msg->transport = transport; p_msg->p_cback = p_cback; p_msg->cbacks = cbacks; bta_sys_sendmsg(p_msg); } Loading system/bta/dm/bta_dm_disc.h +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ void bta_dm_disc_start_device_discovery(tBTA_DM_SEARCH_CBACK*); void bta_dm_disc_stop_device_discovery(); // Bta service discovery start and stop entry points void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK*, void bta_dm_disc_start_service_discovery(service_discovery_callbacks cbacks, const RawAddress& bd_addr, tBT_TRANSPORT transport); void bta_dm_disc_stop_service_discovery(const RawAddress& bd_addr, Loading system/bta/dm/bta_dm_disc_int.h +2 −2 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ typedef struct { typedef struct { BT_HDR_RIGID hdr; RawAddress bd_addr; tBTA_DM_SEARCH_CBACK* p_cback; service_discovery_callbacks cbacks; tBT_TRANSPORT transport; } tBTA_DM_API_DISCOVER; Loading Loading @@ -155,7 +155,7 @@ inline std::string bta_dm_state_text(const tBTA_DM_STATE& state) { /* DM search control block */ typedef struct { tBTA_DM_SEARCH_CBACK* p_device_search_cback; tBTA_DM_SEARCH_CBACK* p_service_search_cback; service_discovery_callbacks service_search_cbacks; tBTM_INQ_INFO* p_btm_inq_info; tBTA_SERVICE_MASK services; tBTA_SERVICE_MASK services_to_search; Loading system/bta/include/bta_api.h +6 −2 Original line number Diff line number Diff line Loading @@ -319,6 +319,10 @@ typedef union { /* Search callback */ typedef void(tBTA_DM_SEARCH_CBACK)(tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data); struct service_discovery_callbacks { /* legacy callback I'll tear apart and get rid of */ tBTA_DM_SEARCH_CBACK* legacy; }; /* Execute call back */ typedef void(tBTA_DM_EXEC_CBACK)(void* p_param); Loading Loading @@ -580,8 +584,8 @@ void BTA_DmSearchCancel(void); * Returns void * ******************************************************************************/ void BTA_DmDiscover(const RawAddress& bd_addr, tBTA_DM_SEARCH_CBACK* p_cback, tBT_TRANSPORT transport); void BTA_DmDiscover(const RawAddress& bd_addr, service_discovery_callbacks cback, tBT_TRANSPORT transport); /******************************************************************************* * Loading Loading
system/bta/dm/bta_dm_api.cc +3 −2 Original line number Diff line number Diff line Loading @@ -111,9 +111,10 @@ void BTA_DmSearchCancel(void) { bta_dm_disc_stop_device_discovery(); } * Returns void * ******************************************************************************/ void BTA_DmDiscover(const RawAddress& bd_addr, tBTA_DM_SEARCH_CBACK* p_cback, void BTA_DmDiscover(const RawAddress& bd_addr, service_discovery_callbacks cbacks, tBT_TRANSPORT transport) { bta_dm_disc_start_service_discovery(p_cback, bd_addr, transport); bta_dm_disc_start_service_discovery(cbacks, bd_addr, transport); } /******************************************************************************* Loading
system/bta/dm/bta_dm_disc.cc +20 −19 Original line number Diff line number Diff line Loading @@ -341,7 +341,7 @@ static void bta_dm_discover(tBTA_DM_MSG* p_data) { bta_dm_gattc_register(); bta_dm_search_cb.p_service_search_cback = p_data->discover.p_cback; bta_dm_search_cb.service_search_cbacks = p_data->discover.cbacks; bta_dm_search_cb.services_to_search = bta_dm_search_cb.services; bta_dm_search_cb.service_index = 0; bta_dm_search_cb.services_found = 0; Loading Loading @@ -485,7 +485,7 @@ static void bta_dm_remote_name_cmpl(const tBTA_DM_MSG* p_data) { // Callback with this property if (bta_dm_search_cb.p_device_search_cback != nullptr || bta_dm_search_cb.p_service_search_cback != nullptr) { bta_dm_search_cb.service_search_cbacks.legacy != nullptr) { tBTA_DM_SEARCH search_data = { .disc_res = // tBTA_DM_DISC_RES { Loading @@ -508,8 +508,8 @@ static void bta_dm_remote_name_cmpl(const tBTA_DM_MSG* p_data) { if (bta_dm_search_cb.p_device_search_cback != nullptr) { bta_dm_search_cb.p_device_search_cback(BTA_DM_NAME_READ_EVT, &search_data); } else if (bta_dm_search_cb.p_service_search_cback != nullptr) { bta_dm_search_cb.p_service_search_cback(BTA_DM_NAME_READ_EVT, } else if (bta_dm_search_cb.service_search_cbacks.legacy != nullptr) { bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_NAME_READ_EVT, &search_data); } } else { Loading Loading @@ -668,8 +668,8 @@ static void bta_dm_sdp_result(tBTA_DM_MSG* p_data) { bta_dm_get_remname()); result.disc_ble_res.services = &gatt_uuids; bta_dm_search_cb.p_service_search_cback(BTA_DM_GATT_OVER_SDP_RES_EVT, &result); bta_dm_search_cb.service_search_cbacks.legacy( BTA_DM_GATT_OVER_SDP_RES_EVT, &result); } } else { /* SDP_DB_FULL means some records with the Loading Loading @@ -735,7 +735,8 @@ static void bta_dm_sdp_result(tBTA_DM_MSG* p_data) { result.did_res.vendor_id = di_record.rec.vendor; result.did_res.product_id = di_record.rec.product; result.did_res.version = di_record.rec.version; bta_dm_search_cb.p_service_search_cback(BTA_DM_DID_RES_EVT, &result); bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_DID_RES_EVT, &result); } #endif Loading Loading @@ -847,7 +848,7 @@ static void bta_dm_read_dis_cmpl(const RawAddress& addr, result.did_res.vendor_id = p_dis_value->pnp_id.vendor_id; result.did_res.product_id = p_dis_value->pnp_id.product_id; result.did_res.version = p_dis_value->pnp_id.product_version; bta_dm_search_cb.p_service_search_cback(BTA_DM_DID_RES_EVT, &result); bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_DID_RES_EVT, &result); } bta_dm_execute_queued_request(); Loading Loading @@ -913,9 +914,9 @@ static void bta_dm_search_cmpl() { // send all result back to app if (send_gatt_results) { if (bta_dm_search_cb.p_service_search_cback) { if (bta_dm_search_cb.service_search_cbacks.legacy) { log::info("Sending GATT results to upper layer"); bta_dm_search_cb.p_service_search_cback(BTA_DM_GATT_OVER_LE_RES_EVT, bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_GATT_OVER_LE_RES_EVT, &result); } } Loading Loading @@ -958,7 +959,7 @@ static void bta_dm_disc_result(tBTA_DM_MSG* p_data) { if (!is_gatt_over_ble && (bta_dm_search_cb.services & ((BTA_ALL_SERVICE_MASK | BTA_USER_SERVICE_MASK) & ~BTA_BLE_SERVICE_MASK))) bta_dm_search_cb.p_service_search_cback(BTA_DM_DISC_RES_EVT, bta_dm_search_cb.service_search_cbacks.legacy(BTA_DM_DISC_RES_EVT, &p_data->disc_result.result); get_gatt_interface().BTA_GATTC_CancelOpen(0, bta_dm_search_cb.peer_bdaddr, Loading @@ -985,9 +986,9 @@ static void bta_dm_search_result(tBTA_DM_MSG* p_data) { if ((!bta_dm_search_cb.services) || ((bta_dm_search_cb.services) && (p_data->disc_result.result.disc_res.services))) { if (bta_dm_search_cb.p_service_search_cback) { bta_dm_search_cb.p_service_search_cback(BTA_DM_DISC_RES_EVT, &p_data->disc_result.result); if (bta_dm_search_cb.service_search_cbacks.legacy) { bta_dm_search_cb.service_search_cbacks.legacy( BTA_DM_DISC_RES_EVT, &p_data->disc_result.result); } else { log::warn("Received search result without valid callback"); } Loading Loading @@ -2400,7 +2401,7 @@ void bta_dm_disc_stop_device_discovery() { bta_sys_sendmsg(p_msg); } void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK* p_cback, void bta_dm_disc_start_service_discovery(service_discovery_callbacks cbacks, const RawAddress& bd_addr, tBT_TRANSPORT transport) { tBTA_DM_API_DISCOVER* p_msg = Loading @@ -2409,7 +2410,7 @@ void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK* p_cback, p_msg->hdr.event = BTA_DM_API_DISCOVER_EVT; p_msg->bd_addr = bd_addr; p_msg->transport = transport; p_msg->p_cback = p_cback; p_msg->cbacks = cbacks; bta_sys_sendmsg(p_msg); } Loading
system/bta/dm/bta_dm_disc.h +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ void bta_dm_disc_start_device_discovery(tBTA_DM_SEARCH_CBACK*); void bta_dm_disc_stop_device_discovery(); // Bta service discovery start and stop entry points void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK*, void bta_dm_disc_start_service_discovery(service_discovery_callbacks cbacks, const RawAddress& bd_addr, tBT_TRANSPORT transport); void bta_dm_disc_stop_service_discovery(const RawAddress& bd_addr, Loading
system/bta/dm/bta_dm_disc_int.h +2 −2 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ typedef struct { typedef struct { BT_HDR_RIGID hdr; RawAddress bd_addr; tBTA_DM_SEARCH_CBACK* p_cback; service_discovery_callbacks cbacks; tBT_TRANSPORT transport; } tBTA_DM_API_DISCOVER; Loading Loading @@ -155,7 +155,7 @@ inline std::string bta_dm_state_text(const tBTA_DM_STATE& state) { /* DM search control block */ typedef struct { tBTA_DM_SEARCH_CBACK* p_device_search_cback; tBTA_DM_SEARCH_CBACK* p_service_search_cback; service_discovery_callbacks service_search_cbacks; tBTM_INQ_INFO* p_btm_inq_info; tBTA_SERVICE_MASK services; tBTA_SERVICE_MASK services_to_search; Loading
system/bta/include/bta_api.h +6 −2 Original line number Diff line number Diff line Loading @@ -319,6 +319,10 @@ typedef union { /* Search callback */ typedef void(tBTA_DM_SEARCH_CBACK)(tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data); struct service_discovery_callbacks { /* legacy callback I'll tear apart and get rid of */ tBTA_DM_SEARCH_CBACK* legacy; }; /* Execute call back */ typedef void(tBTA_DM_EXEC_CBACK)(void* p_param); Loading Loading @@ -580,8 +584,8 @@ void BTA_DmSearchCancel(void); * Returns void * ******************************************************************************/ void BTA_DmDiscover(const RawAddress& bd_addr, tBTA_DM_SEARCH_CBACK* p_cback, tBT_TRANSPORT transport); void BTA_DmDiscover(const RawAddress& bd_addr, service_discovery_callbacks cback, tBT_TRANSPORT transport); /******************************************************************************* * Loading