Loading system/bta/dm/bta_dm_disc_legacy.cc +1 −176 Original line number Diff line number Diff line Loading @@ -212,10 +212,6 @@ void bta_dm_disc_discover_next_device() { bta_dm_discover_next_device(); } void bta_dm_disc_gattc_register() { bta_dm_gattc_register(); } static void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len); static void bta_dm_observe_cmpl_cb(void* p_result); const uint16_t bta_service_id_to_uuid_lkup_tbl[BTA_MAX_SERVICE_ID] = { UUID_SERVCLASS_PNP_INFORMATION, /* Reserved */ UUID_SERVCLASS_SERIAL_PORT, /* BTA_SPP_SERVICE_ID */ Loading Loading @@ -1486,164 +1482,6 @@ const char* bta_dm_get_remname(void) { return p_name; } /******************************************************************************* * * Function bta_dm_observe_results_cb * * Description Callback for BLE Observe result * * * Returns void * ******************************************************************************/ static void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { tBTA_DM_SEARCH result; tBTM_INQ_INFO* p_inq_info; log::verbose("bta_dm_observe_results_cb"); result.inq_res.bd_addr = p_inq->remote_bd_addr; result.inq_res.original_bda = p_inq->original_bda; result.inq_res.rssi = p_inq->rssi; result.inq_res.ble_addr_type = p_inq->ble_addr_type; result.inq_res.inq_result_type = p_inq->inq_result_type; result.inq_res.device_type = p_inq->device_type; result.inq_res.flag = p_inq->flag; result.inq_res.ble_evt_type = p_inq->ble_evt_type; result.inq_res.ble_primary_phy = p_inq->ble_primary_phy; result.inq_res.ble_secondary_phy = p_inq->ble_secondary_phy; result.inq_res.ble_advertising_sid = p_inq->ble_advertising_sid; result.inq_res.ble_tx_power = p_inq->ble_tx_power; result.inq_res.ble_periodic_adv_int = p_inq->ble_periodic_adv_int; /* application will parse EIR to find out remote device name */ result.inq_res.p_eir = const_cast<uint8_t*>(p_eir); result.inq_res.eir_len = eir_len; p_inq_info = get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr); if (p_inq_info != NULL) { /* initialize remt_name_not_required to false so that we get the name by * default */ result.inq_res.remt_name_not_required = false; } if (p_inq_info) { /* application indicates if it knows the remote name, inside the callback copy that to the inquiry data base*/ if (result.inq_res.remt_name_not_required) { p_inq_info->appl_knows_rem_name = true; } } } /******************************************************************************* * * Function bta_dm_opportunistic_observe_results_cb * * Description Callback for BLE Observe result * * * Returns void * ******************************************************************************/ static void bta_dm_opportunistic_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { tBTA_DM_SEARCH result; tBTM_INQ_INFO* p_inq_info; result.inq_res.bd_addr = p_inq->remote_bd_addr; result.inq_res.rssi = p_inq->rssi; result.inq_res.ble_addr_type = p_inq->ble_addr_type; result.inq_res.inq_result_type = p_inq->inq_result_type; result.inq_res.device_type = p_inq->device_type; result.inq_res.flag = p_inq->flag; result.inq_res.ble_evt_type = p_inq->ble_evt_type; result.inq_res.ble_primary_phy = p_inq->ble_primary_phy; result.inq_res.ble_secondary_phy = p_inq->ble_secondary_phy; result.inq_res.ble_advertising_sid = p_inq->ble_advertising_sid; result.inq_res.ble_tx_power = p_inq->ble_tx_power; result.inq_res.ble_periodic_adv_int = p_inq->ble_periodic_adv_int; /* application will parse EIR to find out remote device name */ result.inq_res.p_eir = const_cast<uint8_t*>(p_eir); result.inq_res.eir_len = eir_len; p_inq_info = get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr); if (p_inq_info != NULL) { /* initialize remt_name_not_required to false so that we get the name by * default */ result.inq_res.remt_name_not_required = false; } if (bta_dm_search_cb.p_csis_scan_cback) { bta_dm_search_cb.p_csis_scan_cback(BTA_DM_INQ_RES_EVT, &result); } if (p_inq_info) { /* application indicates if it knows the remote name, inside the callback copy that to the inquiry data base*/ if (result.inq_res.remt_name_not_required) { p_inq_info->appl_knows_rem_name = true; } } } /******************************************************************************* * * Function bta_dm_observe_cmpl_cb * * Description Callback for BLE Observe complete * * * Returns void * ******************************************************************************/ static void bta_dm_observe_cmpl_cb(void* p_result) { log::verbose("bta_dm_observe_cmpl_cb"); if (bta_dm_search_cb.p_csis_scan_cback) { auto num_resps = ((tBTM_INQUIRY_CMPL*)p_result)->num_resp; tBTA_DM_SEARCH data{.observe_cmpl{.num_resps = num_resps}}; bta_dm_search_cb.p_csis_scan_cback(BTA_DM_OBSERVE_CMPL_EVT, &data); } } static void bta_dm_start_scan(uint8_t duration_sec) { tBTM_STATUS status = get_btm_client_interface().ble.BTM_BleObserve( true, duration_sec, bta_dm_observe_results_cb, bta_dm_observe_cmpl_cb); if (status != BTM_CMD_STARTED) { log::warn("BTM_BleObserve failed. status {}", status); if (bta_dm_search_cb.p_csis_scan_cback) { tBTA_DM_SEARCH data{.observe_cmpl = {.num_resps = 0}}; bta_dm_search_cb.p_csis_scan_cback(BTA_DM_OBSERVE_CMPL_EVT, &data); } } } void bta_dm_ble_scan(bool start, uint8_t duration_sec) { if (!start) { if (get_btm_client_interface().ble.BTM_BleObserve(false, 0, NULL, NULL) != BTM_CMD_STARTED) { log::warn("Unable to stop ble observe"); } return; } bta_dm_start_scan(duration_sec); } void bta_dm_ble_csis_observe(bool observe, tBTA_DM_SEARCH_CBACK* p_cback) { if (!observe) { bta_dm_search_cb.p_csis_scan_cback = NULL; BTM_BleOpportunisticObserve(false, NULL); return; } /* Save the callback to be called when a scan results are available */ bta_dm_search_cb.p_csis_scan_cback = p_cback; BTM_BleOpportunisticObserve(true, bta_dm_opportunistic_observe_results_cb); } #ifndef BTA_DM_GATT_CLOSE_DELAY_TOUT #define BTA_DM_GATT_CLOSE_DELAY_TOUT 1000 #endif Loading Loading @@ -2214,16 +2052,7 @@ void bta_dm_find_services(const RawAddress& bd_addr) { } void bta_dm_inq_cmpl() { ::bta_dm_disc_legacy::bta_dm_inq_cmpl(); } void bta_dm_inq_cmpl_cb(void* p_result) { ::bta_dm_disc_legacy::bta_dm_inq_cmpl_cb(p_result); } void bta_dm_observe_cmpl_cb(void* p_result) { ::bta_dm_disc_legacy::bta_dm_observe_cmpl_cb(p_result); } void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { ::bta_dm_disc_legacy::bta_dm_observe_results_cb(p_inq, p_eir, eir_len); } void bta_dm_opportunistic_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { ::bta_dm_disc_legacy::bta_dm_opportunistic_observe_results_cb(p_inq, p_eir, eir_len); } void bta_dm_queue_search(tBTA_DM_API_SEARCH& search) { ::bta_dm_disc_legacy::bta_dm_queue_search(search); } Loading @@ -2232,10 +2061,6 @@ void bta_dm_service_search_remname_cback(const RawAddress& bd_addr, DEV_CLASS dc ::bta_dm_disc_legacy::bta_dm_service_search_remname_cback(bd_addr, dc, bd_name); } void bta_dm_start_scan(uint8_t duration_sec) { ::bta_dm_disc_legacy::bta_dm_start_scan(duration_sec); } void store_avrcp_profile_feature(tSDP_DISC_REC* sdp_rec) { ::bta_dm_disc_legacy::store_avrcp_profile_feature(sdp_rec); } Loading system/bta/dm/bta_dm_disc_legacy.h +0 −4 Original line number Diff line number Diff line Loading @@ -46,10 +46,6 @@ void bta_dm_disc_acl_down(const RawAddress& bd_addr, tBT_TRANSPORT transport); // Return most recent remote name const char* bta_dm_get_remname(void); // LE observe and scan interface void bta_dm_ble_scan(bool start, uint8_t duration_sec); void bta_dm_ble_csis_observe(bool observe, tBTA_DM_SEARCH_CBACK* p_cback); // Checks if there is a device discovery request queued bool bta_dm_is_search_request_queued(); Loading Loading
system/bta/dm/bta_dm_disc_legacy.cc +1 −176 Original line number Diff line number Diff line Loading @@ -212,10 +212,6 @@ void bta_dm_disc_discover_next_device() { bta_dm_discover_next_device(); } void bta_dm_disc_gattc_register() { bta_dm_gattc_register(); } static void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len); static void bta_dm_observe_cmpl_cb(void* p_result); const uint16_t bta_service_id_to_uuid_lkup_tbl[BTA_MAX_SERVICE_ID] = { UUID_SERVCLASS_PNP_INFORMATION, /* Reserved */ UUID_SERVCLASS_SERIAL_PORT, /* BTA_SPP_SERVICE_ID */ Loading Loading @@ -1486,164 +1482,6 @@ const char* bta_dm_get_remname(void) { return p_name; } /******************************************************************************* * * Function bta_dm_observe_results_cb * * Description Callback for BLE Observe result * * * Returns void * ******************************************************************************/ static void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { tBTA_DM_SEARCH result; tBTM_INQ_INFO* p_inq_info; log::verbose("bta_dm_observe_results_cb"); result.inq_res.bd_addr = p_inq->remote_bd_addr; result.inq_res.original_bda = p_inq->original_bda; result.inq_res.rssi = p_inq->rssi; result.inq_res.ble_addr_type = p_inq->ble_addr_type; result.inq_res.inq_result_type = p_inq->inq_result_type; result.inq_res.device_type = p_inq->device_type; result.inq_res.flag = p_inq->flag; result.inq_res.ble_evt_type = p_inq->ble_evt_type; result.inq_res.ble_primary_phy = p_inq->ble_primary_phy; result.inq_res.ble_secondary_phy = p_inq->ble_secondary_phy; result.inq_res.ble_advertising_sid = p_inq->ble_advertising_sid; result.inq_res.ble_tx_power = p_inq->ble_tx_power; result.inq_res.ble_periodic_adv_int = p_inq->ble_periodic_adv_int; /* application will parse EIR to find out remote device name */ result.inq_res.p_eir = const_cast<uint8_t*>(p_eir); result.inq_res.eir_len = eir_len; p_inq_info = get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr); if (p_inq_info != NULL) { /* initialize remt_name_not_required to false so that we get the name by * default */ result.inq_res.remt_name_not_required = false; } if (p_inq_info) { /* application indicates if it knows the remote name, inside the callback copy that to the inquiry data base*/ if (result.inq_res.remt_name_not_required) { p_inq_info->appl_knows_rem_name = true; } } } /******************************************************************************* * * Function bta_dm_opportunistic_observe_results_cb * * Description Callback for BLE Observe result * * * Returns void * ******************************************************************************/ static void bta_dm_opportunistic_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { tBTA_DM_SEARCH result; tBTM_INQ_INFO* p_inq_info; result.inq_res.bd_addr = p_inq->remote_bd_addr; result.inq_res.rssi = p_inq->rssi; result.inq_res.ble_addr_type = p_inq->ble_addr_type; result.inq_res.inq_result_type = p_inq->inq_result_type; result.inq_res.device_type = p_inq->device_type; result.inq_res.flag = p_inq->flag; result.inq_res.ble_evt_type = p_inq->ble_evt_type; result.inq_res.ble_primary_phy = p_inq->ble_primary_phy; result.inq_res.ble_secondary_phy = p_inq->ble_secondary_phy; result.inq_res.ble_advertising_sid = p_inq->ble_advertising_sid; result.inq_res.ble_tx_power = p_inq->ble_tx_power; result.inq_res.ble_periodic_adv_int = p_inq->ble_periodic_adv_int; /* application will parse EIR to find out remote device name */ result.inq_res.p_eir = const_cast<uint8_t*>(p_eir); result.inq_res.eir_len = eir_len; p_inq_info = get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr); if (p_inq_info != NULL) { /* initialize remt_name_not_required to false so that we get the name by * default */ result.inq_res.remt_name_not_required = false; } if (bta_dm_search_cb.p_csis_scan_cback) { bta_dm_search_cb.p_csis_scan_cback(BTA_DM_INQ_RES_EVT, &result); } if (p_inq_info) { /* application indicates if it knows the remote name, inside the callback copy that to the inquiry data base*/ if (result.inq_res.remt_name_not_required) { p_inq_info->appl_knows_rem_name = true; } } } /******************************************************************************* * * Function bta_dm_observe_cmpl_cb * * Description Callback for BLE Observe complete * * * Returns void * ******************************************************************************/ static void bta_dm_observe_cmpl_cb(void* p_result) { log::verbose("bta_dm_observe_cmpl_cb"); if (bta_dm_search_cb.p_csis_scan_cback) { auto num_resps = ((tBTM_INQUIRY_CMPL*)p_result)->num_resp; tBTA_DM_SEARCH data{.observe_cmpl{.num_resps = num_resps}}; bta_dm_search_cb.p_csis_scan_cback(BTA_DM_OBSERVE_CMPL_EVT, &data); } } static void bta_dm_start_scan(uint8_t duration_sec) { tBTM_STATUS status = get_btm_client_interface().ble.BTM_BleObserve( true, duration_sec, bta_dm_observe_results_cb, bta_dm_observe_cmpl_cb); if (status != BTM_CMD_STARTED) { log::warn("BTM_BleObserve failed. status {}", status); if (bta_dm_search_cb.p_csis_scan_cback) { tBTA_DM_SEARCH data{.observe_cmpl = {.num_resps = 0}}; bta_dm_search_cb.p_csis_scan_cback(BTA_DM_OBSERVE_CMPL_EVT, &data); } } } void bta_dm_ble_scan(bool start, uint8_t duration_sec) { if (!start) { if (get_btm_client_interface().ble.BTM_BleObserve(false, 0, NULL, NULL) != BTM_CMD_STARTED) { log::warn("Unable to stop ble observe"); } return; } bta_dm_start_scan(duration_sec); } void bta_dm_ble_csis_observe(bool observe, tBTA_DM_SEARCH_CBACK* p_cback) { if (!observe) { bta_dm_search_cb.p_csis_scan_cback = NULL; BTM_BleOpportunisticObserve(false, NULL); return; } /* Save the callback to be called when a scan results are available */ bta_dm_search_cb.p_csis_scan_cback = p_cback; BTM_BleOpportunisticObserve(true, bta_dm_opportunistic_observe_results_cb); } #ifndef BTA_DM_GATT_CLOSE_DELAY_TOUT #define BTA_DM_GATT_CLOSE_DELAY_TOUT 1000 #endif Loading Loading @@ -2214,16 +2052,7 @@ void bta_dm_find_services(const RawAddress& bd_addr) { } void bta_dm_inq_cmpl() { ::bta_dm_disc_legacy::bta_dm_inq_cmpl(); } void bta_dm_inq_cmpl_cb(void* p_result) { ::bta_dm_disc_legacy::bta_dm_inq_cmpl_cb(p_result); } void bta_dm_observe_cmpl_cb(void* p_result) { ::bta_dm_disc_legacy::bta_dm_observe_cmpl_cb(p_result); } void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { ::bta_dm_disc_legacy::bta_dm_observe_results_cb(p_inq, p_eir, eir_len); } void bta_dm_opportunistic_observe_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir, uint16_t eir_len) { ::bta_dm_disc_legacy::bta_dm_opportunistic_observe_results_cb(p_inq, p_eir, eir_len); } void bta_dm_queue_search(tBTA_DM_API_SEARCH& search) { ::bta_dm_disc_legacy::bta_dm_queue_search(search); } Loading @@ -2232,10 +2061,6 @@ void bta_dm_service_search_remname_cback(const RawAddress& bd_addr, DEV_CLASS dc ::bta_dm_disc_legacy::bta_dm_service_search_remname_cback(bd_addr, dc, bd_name); } void bta_dm_start_scan(uint8_t duration_sec) { ::bta_dm_disc_legacy::bta_dm_start_scan(duration_sec); } void store_avrcp_profile_feature(tSDP_DISC_REC* sdp_rec) { ::bta_dm_disc_legacy::store_avrcp_profile_feature(sdp_rec); } Loading
system/bta/dm/bta_dm_disc_legacy.h +0 −4 Original line number Diff line number Diff line Loading @@ -46,10 +46,6 @@ void bta_dm_disc_acl_down(const RawAddress& bd_addr, tBT_TRANSPORT transport); // Return most recent remote name const char* bta_dm_get_remname(void); // LE observe and scan interface void bta_dm_ble_scan(bool start, uint8_t duration_sec); void bta_dm_ble_csis_observe(bool observe, tBTA_DM_SEARCH_CBACK* p_cback); // Checks if there is a device discovery request queued bool bta_dm_is_search_request_queued(); Loading