Loading system/bta/dm/bta_dm_api.cc +3 −26 Original line number Diff line number Diff line Loading @@ -80,18 +80,11 @@ void BTA_DmSetDeviceName(const char* p_name) { * performs an inquiry and gets the remote name for devices. * Service discovery is done if services is non zero * * * Returns void * ******************************************************************************/ void BTA_DmSearch(tBTA_DM_SEARCH_CBACK* p_cback) { tBTA_DM_API_SEARCH* p_msg = (tBTA_DM_API_SEARCH*)osi_calloc(sizeof(tBTA_DM_API_SEARCH)); p_msg->hdr.event = BTA_DM_API_SEARCH_EVT; p_msg->p_cback = p_cback; bta_sys_sendmsg(p_msg); bta_dm_disc_start_device_discovery(p_cback); } /******************************************************************************* Loading @@ -100,18 +93,10 @@ void BTA_DmSearch(tBTA_DM_SEARCH_CBACK* p_cback) { * * Description This function cancels a search initiated by BTA_DmSearch * * * Returns void * ******************************************************************************/ void BTA_DmSearchCancel(void) { tBTA_DM_API_DISCOVERY_CANCEL* p_msg = (tBTA_DM_API_DISCOVERY_CANCEL*)osi_calloc( sizeof(tBTA_DM_API_DISCOVERY_CANCEL)); p_msg->hdr.event = BTA_DM_API_SEARCH_CANCEL_EVT; bta_sys_sendmsg(p_msg); } void BTA_DmSearchCancel(void) { bta_dm_disc_stop_device_discovery(); } /******************************************************************************* * Loading @@ -126,15 +111,7 @@ void BTA_DmSearchCancel(void) { ******************************************************************************/ void BTA_DmDiscover(const RawAddress& bd_addr, tBTA_DM_SEARCH_CBACK* p_cback, tBT_TRANSPORT transport) { tBTA_DM_API_DISCOVER* p_msg = (tBTA_DM_API_DISCOVER*)osi_calloc(sizeof(tBTA_DM_API_DISCOVER)); 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; bta_sys_sendmsg(p_msg); bta_dm_disc_start_service_discovery(p_cback, bd_addr, transport); } /******************************************************************************* Loading system/bta/dm/bta_dm_disc.cc +38 −0 Original line number Diff line number Diff line Loading @@ -2421,6 +2421,44 @@ void bta_dm_disc_acl_down(const RawAddress& bd_addr, tBT_TRANSPORT transport) { void bta_dm_disc_stop() { bta_dm_disc_reset(); } void bta_dm_disc_start_device_discovery(tBTA_DM_SEARCH_CBACK* p_cback) { tBTA_DM_API_SEARCH* p_msg = (tBTA_DM_API_SEARCH*)osi_calloc(sizeof(tBTA_DM_API_SEARCH)); p_msg->hdr.event = BTA_DM_API_SEARCH_EVT; p_msg->p_cback = p_cback; bta_sys_sendmsg(p_msg); } void bta_dm_disc_stop_device_discovery() { tBTA_DM_API_DISCOVERY_CANCEL* p_msg = (tBTA_DM_API_DISCOVERY_CANCEL*)osi_calloc( sizeof(tBTA_DM_API_DISCOVERY_CANCEL)); p_msg->hdr.event = BTA_DM_API_SEARCH_CANCEL_EVT; bta_sys_sendmsg(p_msg); } void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK* p_cback, const RawAddress& bd_addr, tBT_TRANSPORT transport) { tBTA_DM_API_DISCOVER* p_msg = (tBTA_DM_API_DISCOVER*)osi_calloc(sizeof(tBTA_DM_API_DISCOVER)); 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; bta_sys_sendmsg(p_msg); } void bta_dm_disc_stop_service_discovery(const RawAddress& bd_addr, tBT_TRANSPORT transport) { LOG_WARN("Stop service discovery not yet implemented for legacy module"); } #define DUMPSYS_TAG "shim::legacy::bta::dm" void DumpsysBtaDmDisc(int fd) { auto copy = search_state_history_.Pull(); Loading system/bta/dm/bta_dm_disc.h +11 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,17 @@ void bta_dm_disc_start(bool delay_close_gatt); void bta_dm_disc_stop(); // Bta device discovery start and stop entry points 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*, const RawAddress& bd_addr, tBT_TRANSPORT transport); void bta_dm_disc_stop_service_discovery(const RawAddress& bd_addr, tBT_TRANSPORT transport); // Bta subsystem entrypoint and lifecycle bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg); void bta_dm_search_sm_disable(); Loading system/bta/test/bta_disc_test.cc +39 −0 Original line number Diff line number Diff line Loading @@ -222,3 +222,42 @@ TEST_F(BtaDiscTest, store_avrcp_profile_feature) { tSDP_DISC_REC sdp_rec = {}; bluetooth::legacy::testing::store_avrcp_profile_feature(&sdp_rec); } TEST_F(BtaDiscTest, bta_dm_disc_start_device_discovery) { bta_dm_disc_start_device_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}); } TEST_F(BtaDiscTest, bta_dm_disc_stop_device_discovery) { bta_dm_disc_stop_device_discovery(); } TEST_F(BtaDiscTest, bta_dm_disc_start_service_discovery__BT_TRANSPORT_AUTO) { bta_dm_disc_start_service_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}, kRawAddress, BT_TRANSPORT_AUTO); } TEST_F(BtaDiscTest, bta_dm_disc_start_service_discovery__BT_TRANSPORT_BR_EDR) { bta_dm_disc_start_service_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}, kRawAddress, BT_TRANSPORT_BR_EDR); } TEST_F(BtaDiscTest, bta_dm_disc_start_service_discovery__BT_TRANSPORT_LE) { bta_dm_disc_start_service_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}, kRawAddress, BT_TRANSPORT_LE); } TEST_F(BtaDiscTest, bta_dm_disc_stop_service_discovery__BT_TRANSPORT_AUTO) { bta_dm_disc_stop_service_discovery(kRawAddress, BT_TRANSPORT_AUTO); } TEST_F(BtaDiscTest, bta_dm_disc_stop_service_discovery__BT_TRANSPORT_BR_EDR) { bta_dm_disc_stop_service_discovery(kRawAddress, BT_TRANSPORT_BR_EDR); } TEST_F(BtaDiscTest, bta_dm_disc_stop_service_discovery__BT_TRANSPORT_LE) { bta_dm_disc_stop_service_discovery(kRawAddress, BT_TRANSPORT_LE); } Loading
system/bta/dm/bta_dm_api.cc +3 −26 Original line number Diff line number Diff line Loading @@ -80,18 +80,11 @@ void BTA_DmSetDeviceName(const char* p_name) { * performs an inquiry and gets the remote name for devices. * Service discovery is done if services is non zero * * * Returns void * ******************************************************************************/ void BTA_DmSearch(tBTA_DM_SEARCH_CBACK* p_cback) { tBTA_DM_API_SEARCH* p_msg = (tBTA_DM_API_SEARCH*)osi_calloc(sizeof(tBTA_DM_API_SEARCH)); p_msg->hdr.event = BTA_DM_API_SEARCH_EVT; p_msg->p_cback = p_cback; bta_sys_sendmsg(p_msg); bta_dm_disc_start_device_discovery(p_cback); } /******************************************************************************* Loading @@ -100,18 +93,10 @@ void BTA_DmSearch(tBTA_DM_SEARCH_CBACK* p_cback) { * * Description This function cancels a search initiated by BTA_DmSearch * * * Returns void * ******************************************************************************/ void BTA_DmSearchCancel(void) { tBTA_DM_API_DISCOVERY_CANCEL* p_msg = (tBTA_DM_API_DISCOVERY_CANCEL*)osi_calloc( sizeof(tBTA_DM_API_DISCOVERY_CANCEL)); p_msg->hdr.event = BTA_DM_API_SEARCH_CANCEL_EVT; bta_sys_sendmsg(p_msg); } void BTA_DmSearchCancel(void) { bta_dm_disc_stop_device_discovery(); } /******************************************************************************* * Loading @@ -126,15 +111,7 @@ void BTA_DmSearchCancel(void) { ******************************************************************************/ void BTA_DmDiscover(const RawAddress& bd_addr, tBTA_DM_SEARCH_CBACK* p_cback, tBT_TRANSPORT transport) { tBTA_DM_API_DISCOVER* p_msg = (tBTA_DM_API_DISCOVER*)osi_calloc(sizeof(tBTA_DM_API_DISCOVER)); 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; bta_sys_sendmsg(p_msg); bta_dm_disc_start_service_discovery(p_cback, bd_addr, transport); } /******************************************************************************* Loading
system/bta/dm/bta_dm_disc.cc +38 −0 Original line number Diff line number Diff line Loading @@ -2421,6 +2421,44 @@ void bta_dm_disc_acl_down(const RawAddress& bd_addr, tBT_TRANSPORT transport) { void bta_dm_disc_stop() { bta_dm_disc_reset(); } void bta_dm_disc_start_device_discovery(tBTA_DM_SEARCH_CBACK* p_cback) { tBTA_DM_API_SEARCH* p_msg = (tBTA_DM_API_SEARCH*)osi_calloc(sizeof(tBTA_DM_API_SEARCH)); p_msg->hdr.event = BTA_DM_API_SEARCH_EVT; p_msg->p_cback = p_cback; bta_sys_sendmsg(p_msg); } void bta_dm_disc_stop_device_discovery() { tBTA_DM_API_DISCOVERY_CANCEL* p_msg = (tBTA_DM_API_DISCOVERY_CANCEL*)osi_calloc( sizeof(tBTA_DM_API_DISCOVERY_CANCEL)); p_msg->hdr.event = BTA_DM_API_SEARCH_CANCEL_EVT; bta_sys_sendmsg(p_msg); } void bta_dm_disc_start_service_discovery(tBTA_DM_SEARCH_CBACK* p_cback, const RawAddress& bd_addr, tBT_TRANSPORT transport) { tBTA_DM_API_DISCOVER* p_msg = (tBTA_DM_API_DISCOVER*)osi_calloc(sizeof(tBTA_DM_API_DISCOVER)); 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; bta_sys_sendmsg(p_msg); } void bta_dm_disc_stop_service_discovery(const RawAddress& bd_addr, tBT_TRANSPORT transport) { LOG_WARN("Stop service discovery not yet implemented for legacy module"); } #define DUMPSYS_TAG "shim::legacy::bta::dm" void DumpsysBtaDmDisc(int fd) { auto copy = search_state_history_.Pull(); Loading
system/bta/dm/bta_dm_disc.h +11 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,17 @@ void bta_dm_disc_start(bool delay_close_gatt); void bta_dm_disc_stop(); // Bta device discovery start and stop entry points 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*, const RawAddress& bd_addr, tBT_TRANSPORT transport); void bta_dm_disc_stop_service_discovery(const RawAddress& bd_addr, tBT_TRANSPORT transport); // Bta subsystem entrypoint and lifecycle bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg); void bta_dm_search_sm_disable(); Loading
system/bta/test/bta_disc_test.cc +39 −0 Original line number Diff line number Diff line Loading @@ -222,3 +222,42 @@ TEST_F(BtaDiscTest, store_avrcp_profile_feature) { tSDP_DISC_REC sdp_rec = {}; bluetooth::legacy::testing::store_avrcp_profile_feature(&sdp_rec); } TEST_F(BtaDiscTest, bta_dm_disc_start_device_discovery) { bta_dm_disc_start_device_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}); } TEST_F(BtaDiscTest, bta_dm_disc_stop_device_discovery) { bta_dm_disc_stop_device_discovery(); } TEST_F(BtaDiscTest, bta_dm_disc_start_service_discovery__BT_TRANSPORT_AUTO) { bta_dm_disc_start_service_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}, kRawAddress, BT_TRANSPORT_AUTO); } TEST_F(BtaDiscTest, bta_dm_disc_start_service_discovery__BT_TRANSPORT_BR_EDR) { bta_dm_disc_start_service_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}, kRawAddress, BT_TRANSPORT_BR_EDR); } TEST_F(BtaDiscTest, bta_dm_disc_start_service_discovery__BT_TRANSPORT_LE) { bta_dm_disc_start_service_discovery( [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) {}, kRawAddress, BT_TRANSPORT_LE); } TEST_F(BtaDiscTest, bta_dm_disc_stop_service_discovery__BT_TRANSPORT_AUTO) { bta_dm_disc_stop_service_discovery(kRawAddress, BT_TRANSPORT_AUTO); } TEST_F(BtaDiscTest, bta_dm_disc_stop_service_discovery__BT_TRANSPORT_BR_EDR) { bta_dm_disc_stop_service_discovery(kRawAddress, BT_TRANSPORT_BR_EDR); } TEST_F(BtaDiscTest, bta_dm_disc_stop_service_discovery__BT_TRANSPORT_LE) { bta_dm_disc_stop_service_discovery(kRawAddress, BT_TRANSPORT_LE); }