Loading system/bta/dm/bta_dm_act.cc +45 −22 Original line number Original line Diff line number Diff line Loading @@ -177,6 +177,15 @@ WaitForAllAclConnectionsToDrain::FromAlarmCallbackData(void* data) { static void bta_dm_delay_role_switch_cback(void* data); static void bta_dm_delay_role_switch_cback(void* data); static void bta_dm_wait_for_acl_to_drain_cback(void* data); static void bta_dm_wait_for_acl_to_drain_cback(void* data); /** Initialises the BT device manager */ void bta_dm_enable(tBTA_DM_SEC_CBACK* p_sec_cback, tBTA_DM_ACL_CBACK *p_acl_cback) { if (p_acl_cback != NULL) bta_dm_acl_cb.p_acl_cback = p_acl_cback; bta_dm_sec_enable(p_sec_cback); } /******************************************************************************* /******************************************************************************* * * * Function bta_dm_init_cb * Function bta_dm_init_cb Loading @@ -189,6 +198,7 @@ static void bta_dm_wait_for_acl_to_drain_cback(void* data); ******************************************************************************/ ******************************************************************************/ static void bta_dm_init_cb(void) { static void bta_dm_init_cb(void) { bta_dm_cb = {}; bta_dm_cb = {}; bta_dm_acl_cb = {}; bta_dm_cb.disable_timer = alarm_new("bta_dm.disable_timer"); bta_dm_cb.disable_timer = alarm_new("bta_dm.disable_timer"); bta_dm_cb.switch_delay_timer = alarm_new("bta_dm.switch_delay_timer"); bta_dm_cb.switch_delay_timer = alarm_new("bta_dm.switch_delay_timer"); for (size_t i = 0; i < BTA_DM_NUM_PM_TIMER; i++) { for (size_t i = 0; i < BTA_DM_NUM_PM_TIMER; i++) { Loading Loading @@ -221,6 +231,7 @@ static void bta_dm_deinit_cb(void) { } } } } bta_dm_cb = {}; bta_dm_cb = {}; bta_dm_acl_cb = {}; } } void BTA_dm_on_hw_off() { void BTA_dm_on_hw_off() { Loading @@ -239,16 +250,22 @@ void BTA_dm_on_hw_off() { void BTA_dm_on_hw_on() { void BTA_dm_on_hw_on() { DEV_CLASS dev_class; DEV_CLASS dev_class; tBTA_DM_SEC_CBACK* temp_cback; tBTA_DM_SEC_CBACK* temp_sec_cback; tBTA_DM_ACL_CBACK* temp_acl_cback; uint8_t key_mask = 0; uint8_t key_mask = 0; tBTA_BLE_LOCAL_ID_KEYS id_key; tBTA_BLE_LOCAL_ID_KEYS id_key; /* save security callback */ /* save callbacks */ temp_cback = bta_dm_cb.p_sec_cback; temp_sec_cback = bta_dm_cb.p_sec_cback; temp_acl_cback = bta_dm_acl_cb.p_acl_cback; /* make sure the control block is properly initialized */ /* make sure the control block is properly initialized */ bta_dm_init_cb(); bta_dm_init_cb(); /* and retrieve the callback */ /* and restore the callbacks */ bta_dm_cb.p_sec_cback = temp_cback; bta_dm_cb.p_sec_cback = temp_sec_cback; bta_dm_acl_cb.p_acl_cback = temp_acl_cback; /* hw is ready, go on with BTA DM initialization */ /* hw is ready, go on with BTA DM initialization */ alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.search_timer); Loading Loading @@ -299,8 +316,8 @@ void BTA_dm_on_hw_on() { BTM_BleReadControllerFeatures(bta_dm_ctrl_features_rd_cmpl_cback); BTM_BleReadControllerFeatures(bta_dm_ctrl_features_rd_cmpl_cback); } else { } else { /* Set controller features even if vendor support is not included */ /* Set controller features even if vendor support is not included */ if (bta_dm_cb.p_sec_cback) if (bta_dm_acl_cb.p_acl_cback) bta_dm_cb.p_sec_cback(BTA_DM_LE_FEATURES_READ, NULL); bta_dm_acl_cb.p_acl_cback(BTA_DM_LE_FEATURES_READ, NULL); } } btm_ble_scanner_init(); btm_ble_scanner_init(); Loading Loading @@ -473,7 +490,7 @@ void bta_dm_process_remove_device(const RawAddress& bd_addr) { if (bta_dm_cb.p_sec_cback) { if (bta_dm_cb.p_sec_cback) { tBTA_DM_SEC sec_event; tBTA_DM_SEC sec_event; sec_event.link_down.bd_addr = bd_addr; sec_event.dev_unpair.bd_addr = bd_addr; bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &sec_event); bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &sec_event); } } } } Loading Loading @@ -743,14 +760,13 @@ void bta_dm_acl_up(const RawAddress& bd_addr, tBT_TRANSPORT transport, device->set_both_device_ssr_capable(); device->set_both_device_ssr_capable(); } } if (bta_dm_cb.p_sec_cback) { if (bta_dm_acl_cb.p_acl_cback) { tBTA_DM_SEC conn; tBTA_DM_ACL conn{}; memset(&conn, 0, sizeof(tBTA_DM_SEC)); conn.link_up.bd_addr = bd_addr; conn.link_up.bd_addr = bd_addr; conn.link_up.transport_link_type = transport; conn.link_up.transport_link_type = transport; conn.link_up.acl_handle = acl_handle; conn.link_up.acl_handle = acl_handle; bta_dm_cb.p_sec_cback(BTA_DM_LINK_UP_EVT, &conn); bta_dm_acl_cb.p_acl_cback(BTA_DM_LINK_UP_EVT, &conn); LOG_DEBUG("Executed security callback for new connection available"); LOG_DEBUG("Executed security callback for new connection available"); } } bta_dm_adjust_roles(true); bta_dm_adjust_roles(true); Loading @@ -764,12 +780,12 @@ void BTA_dm_acl_up(const RawAddress bd_addr, tBT_TRANSPORT transport, static void bta_dm_acl_up_failed(const RawAddress bd_addr, static void bta_dm_acl_up_failed(const RawAddress bd_addr, tBT_TRANSPORT transport, tHCI_STATUS status) { tBT_TRANSPORT transport, tHCI_STATUS status) { if (bta_dm_cb.p_sec_cback) { if (bta_dm_acl_cb.p_acl_cback) { tBTA_DM_SEC conn = {}; tBTA_DM_ACL conn = {}; conn.link_up_failed.bd_addr = bd_addr; conn.link_up_failed.bd_addr = bd_addr; conn.link_up_failed.transport_link_type = transport; conn.link_up_failed.transport_link_type = transport; conn.link_up_failed.status = status; conn.link_up_failed.status = status; bta_dm_cb.p_sec_cback(BTA_DM_LINK_UP_FAILED_EVT, &conn); bta_dm_acl_cb.p_acl_cback(BTA_DM_LINK_UP_FAILED_EVT, &conn); } } } } Loading Loading @@ -849,14 +865,21 @@ static void bta_dm_acl_down(const RawAddress& bd_addr, bta_dm_process_remove_device_no_callback(bd_addr); bta_dm_process_remove_device_no_callback(bd_addr); } } if (bta_dm_cb.p_sec_cback) { if (bta_dm_acl_cb.p_acl_cback) { tBTA_DM_SEC conn; tBTA_DM_ACL conn{}; memset(&conn, 0, sizeof(tBTA_DM_SEC)); conn.link_down.bd_addr = bd_addr; conn.link_down.bd_addr = bd_addr; conn.link_down.transport_link_type = transport; conn.link_down.transport_link_type = transport; bta_dm_cb.p_sec_cback(BTA_DM_LINK_DOWN_EVT, &conn); bta_dm_acl_cb.p_acl_cback(BTA_DM_LINK_DOWN_EVT, &conn); if (issue_unpair_cb) bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &conn); } // TODO: reorganize and factor out the following logic if (issue_unpair_cb && bta_dm_cb.p_sec_cback) { tBTA_DM_SEC conn{}; conn.dev_unpair.bd_addr = bd_addr; conn.dev_unpair.transport_link_type = transport; bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &conn); } } bta_dm_adjust_roles(true); bta_dm_adjust_roles(true); Loading Loading @@ -1700,8 +1723,8 @@ void bta_dm_ble_reset_id(void) { static void bta_dm_ctrl_features_rd_cmpl_cback(tHCI_STATUS result) { static void bta_dm_ctrl_features_rd_cmpl_cback(tHCI_STATUS result) { APPL_TRACE_DEBUG("%s status = %d ", __func__, result); APPL_TRACE_DEBUG("%s status = %d ", __func__, result); if (result == HCI_SUCCESS) { if (result == HCI_SUCCESS) { if (bta_dm_cb.p_sec_cback) if (bta_dm_acl_cb.p_acl_cback) bta_dm_cb.p_sec_cback(BTA_DM_LE_FEATURES_READ, NULL); bta_dm_acl_cb.p_acl_cback(BTA_DM_LE_FEATURES_READ, NULL); } else { } else { APPL_TRACE_ERROR("%s Ctrl BLE feature read failed: status :%d", __func__, APPL_TRACE_ERROR("%s Ctrl BLE feature read failed: status :%d", __func__, result); result); Loading system/bta/dm/bta_dm_int.h +8 −0 Original line number Original line Diff line number Diff line Loading @@ -346,6 +346,10 @@ extern tBTA_DM_CONNECTED_SRVCS bta_dm_conn_srvcs; #define BTA_DM_NUM_PM_TIMER 7 #define BTA_DM_NUM_PM_TIMER 7 typedef struct { tBTA_DM_ACL_CBACK* p_acl_cback; } tBTA_DM_ACL_CB; /* DM control block */ /* DM control block */ typedef struct { typedef struct { tBTA_DM_ACTIVE_LINK device_list; tBTA_DM_ACTIVE_LINK device_list; Loading Loading @@ -516,12 +520,16 @@ extern const tBTA_DM_EIR_CONF* p_bta_dm_eir_cfg; /* DM control block */ /* DM control block */ extern tBTA_DM_CB bta_dm_cb; extern tBTA_DM_CB bta_dm_cb; /* DM control block for ACL management */ extern tBTA_DM_ACL_CB bta_dm_acl_cb; /* DM search control block */ /* DM search control block */ extern tBTA_DM_SEARCH_CB bta_dm_search_cb; extern tBTA_DM_SEARCH_CB bta_dm_search_cb; /* DI control block */ /* DI control block */ extern tBTA_DM_DI_CB bta_dm_di_cb; extern tBTA_DM_DI_CB bta_dm_di_cb; void bta_dm_enable(tBTA_DM_SEC_CBACK*, tBTA_DM_ACL_CBACK*); void bta_dm_disable(); void bta_dm_disable(); void bta_dm_set_dev_name(const std::vector<uint8_t>&); void bta_dm_set_dev_name(const std::vector<uint8_t>&); void bta_dm_remove_device(const RawAddress& bd_addr); void bta_dm_remove_device(const RawAddress& bd_addr); Loading system/bta/dm/bta_dm_main.cc +1 −0 Original line number Original line Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include "stack/include/bt_hdr.h" #include "stack/include/bt_hdr.h" #include "stack/include/bt_types.h" #include "stack/include/bt_types.h" tBTA_DM_ACL_CB bta_dm_acl_cb; tBTA_DM_CB bta_dm_cb; tBTA_DM_CB bta_dm_cb; tBTA_DM_DI_CB bta_dm_di_cb; tBTA_DM_DI_CB bta_dm_di_cb; Loading system/bta/dm/bta_dm_sec.cc +1 −1 Original line number Original line Diff line number Diff line Loading @@ -104,7 +104,7 @@ void btm_dm_sec_init() { } } /** Initialises the BT device security manager */ /** Initialises the BT device security manager */ void bta_dm_enable(tBTA_DM_SEC_CBACK* p_sec_cback) { void bta_dm_sec_enable(tBTA_DM_SEC_CBACK* p_sec_cback) { /* make sure security callback is saved - if no callback, do not erase the /* make sure security callback is saved - if no callback, do not erase the previous one, previous one, it could be an error recovery mechanism */ it could be an error recovery mechanism */ Loading system/bta/dm/bta_dm_sec.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -22,6 +22,8 @@ #include "bta/include/bta_api.h" #include "bta/include/bta_api.h" #include "osi/include/osi.h" // UNUSED_ATTR #include "osi/include/osi.h" // UNUSED_ATTR void bta_dm_sec_enable(tBTA_DM_SEC_CBACK* p_sec_cback); void bta_dm_add_ble_device(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, void bta_dm_add_ble_device(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_DEVICE_TYPE dev_type); tBT_DEVICE_TYPE dev_type); void bta_dm_add_blekey(const RawAddress& bd_addr, tBTA_LE_KEY_VALUE blekey, void bta_dm_add_blekey(const RawAddress& bd_addr, tBTA_LE_KEY_VALUE blekey, Loading Loading
system/bta/dm/bta_dm_act.cc +45 −22 Original line number Original line Diff line number Diff line Loading @@ -177,6 +177,15 @@ WaitForAllAclConnectionsToDrain::FromAlarmCallbackData(void* data) { static void bta_dm_delay_role_switch_cback(void* data); static void bta_dm_delay_role_switch_cback(void* data); static void bta_dm_wait_for_acl_to_drain_cback(void* data); static void bta_dm_wait_for_acl_to_drain_cback(void* data); /** Initialises the BT device manager */ void bta_dm_enable(tBTA_DM_SEC_CBACK* p_sec_cback, tBTA_DM_ACL_CBACK *p_acl_cback) { if (p_acl_cback != NULL) bta_dm_acl_cb.p_acl_cback = p_acl_cback; bta_dm_sec_enable(p_sec_cback); } /******************************************************************************* /******************************************************************************* * * * Function bta_dm_init_cb * Function bta_dm_init_cb Loading @@ -189,6 +198,7 @@ static void bta_dm_wait_for_acl_to_drain_cback(void* data); ******************************************************************************/ ******************************************************************************/ static void bta_dm_init_cb(void) { static void bta_dm_init_cb(void) { bta_dm_cb = {}; bta_dm_cb = {}; bta_dm_acl_cb = {}; bta_dm_cb.disable_timer = alarm_new("bta_dm.disable_timer"); bta_dm_cb.disable_timer = alarm_new("bta_dm.disable_timer"); bta_dm_cb.switch_delay_timer = alarm_new("bta_dm.switch_delay_timer"); bta_dm_cb.switch_delay_timer = alarm_new("bta_dm.switch_delay_timer"); for (size_t i = 0; i < BTA_DM_NUM_PM_TIMER; i++) { for (size_t i = 0; i < BTA_DM_NUM_PM_TIMER; i++) { Loading Loading @@ -221,6 +231,7 @@ static void bta_dm_deinit_cb(void) { } } } } bta_dm_cb = {}; bta_dm_cb = {}; bta_dm_acl_cb = {}; } } void BTA_dm_on_hw_off() { void BTA_dm_on_hw_off() { Loading @@ -239,16 +250,22 @@ void BTA_dm_on_hw_off() { void BTA_dm_on_hw_on() { void BTA_dm_on_hw_on() { DEV_CLASS dev_class; DEV_CLASS dev_class; tBTA_DM_SEC_CBACK* temp_cback; tBTA_DM_SEC_CBACK* temp_sec_cback; tBTA_DM_ACL_CBACK* temp_acl_cback; uint8_t key_mask = 0; uint8_t key_mask = 0; tBTA_BLE_LOCAL_ID_KEYS id_key; tBTA_BLE_LOCAL_ID_KEYS id_key; /* save security callback */ /* save callbacks */ temp_cback = bta_dm_cb.p_sec_cback; temp_sec_cback = bta_dm_cb.p_sec_cback; temp_acl_cback = bta_dm_acl_cb.p_acl_cback; /* make sure the control block is properly initialized */ /* make sure the control block is properly initialized */ bta_dm_init_cb(); bta_dm_init_cb(); /* and retrieve the callback */ /* and restore the callbacks */ bta_dm_cb.p_sec_cback = temp_cback; bta_dm_cb.p_sec_cback = temp_sec_cback; bta_dm_acl_cb.p_acl_cback = temp_acl_cback; /* hw is ready, go on with BTA DM initialization */ /* hw is ready, go on with BTA DM initialization */ alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.search_timer); Loading Loading @@ -299,8 +316,8 @@ void BTA_dm_on_hw_on() { BTM_BleReadControllerFeatures(bta_dm_ctrl_features_rd_cmpl_cback); BTM_BleReadControllerFeatures(bta_dm_ctrl_features_rd_cmpl_cback); } else { } else { /* Set controller features even if vendor support is not included */ /* Set controller features even if vendor support is not included */ if (bta_dm_cb.p_sec_cback) if (bta_dm_acl_cb.p_acl_cback) bta_dm_cb.p_sec_cback(BTA_DM_LE_FEATURES_READ, NULL); bta_dm_acl_cb.p_acl_cback(BTA_DM_LE_FEATURES_READ, NULL); } } btm_ble_scanner_init(); btm_ble_scanner_init(); Loading Loading @@ -473,7 +490,7 @@ void bta_dm_process_remove_device(const RawAddress& bd_addr) { if (bta_dm_cb.p_sec_cback) { if (bta_dm_cb.p_sec_cback) { tBTA_DM_SEC sec_event; tBTA_DM_SEC sec_event; sec_event.link_down.bd_addr = bd_addr; sec_event.dev_unpair.bd_addr = bd_addr; bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &sec_event); bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &sec_event); } } } } Loading Loading @@ -743,14 +760,13 @@ void bta_dm_acl_up(const RawAddress& bd_addr, tBT_TRANSPORT transport, device->set_both_device_ssr_capable(); device->set_both_device_ssr_capable(); } } if (bta_dm_cb.p_sec_cback) { if (bta_dm_acl_cb.p_acl_cback) { tBTA_DM_SEC conn; tBTA_DM_ACL conn{}; memset(&conn, 0, sizeof(tBTA_DM_SEC)); conn.link_up.bd_addr = bd_addr; conn.link_up.bd_addr = bd_addr; conn.link_up.transport_link_type = transport; conn.link_up.transport_link_type = transport; conn.link_up.acl_handle = acl_handle; conn.link_up.acl_handle = acl_handle; bta_dm_cb.p_sec_cback(BTA_DM_LINK_UP_EVT, &conn); bta_dm_acl_cb.p_acl_cback(BTA_DM_LINK_UP_EVT, &conn); LOG_DEBUG("Executed security callback for new connection available"); LOG_DEBUG("Executed security callback for new connection available"); } } bta_dm_adjust_roles(true); bta_dm_adjust_roles(true); Loading @@ -764,12 +780,12 @@ void BTA_dm_acl_up(const RawAddress bd_addr, tBT_TRANSPORT transport, static void bta_dm_acl_up_failed(const RawAddress bd_addr, static void bta_dm_acl_up_failed(const RawAddress bd_addr, tBT_TRANSPORT transport, tHCI_STATUS status) { tBT_TRANSPORT transport, tHCI_STATUS status) { if (bta_dm_cb.p_sec_cback) { if (bta_dm_acl_cb.p_acl_cback) { tBTA_DM_SEC conn = {}; tBTA_DM_ACL conn = {}; conn.link_up_failed.bd_addr = bd_addr; conn.link_up_failed.bd_addr = bd_addr; conn.link_up_failed.transport_link_type = transport; conn.link_up_failed.transport_link_type = transport; conn.link_up_failed.status = status; conn.link_up_failed.status = status; bta_dm_cb.p_sec_cback(BTA_DM_LINK_UP_FAILED_EVT, &conn); bta_dm_acl_cb.p_acl_cback(BTA_DM_LINK_UP_FAILED_EVT, &conn); } } } } Loading Loading @@ -849,14 +865,21 @@ static void bta_dm_acl_down(const RawAddress& bd_addr, bta_dm_process_remove_device_no_callback(bd_addr); bta_dm_process_remove_device_no_callback(bd_addr); } } if (bta_dm_cb.p_sec_cback) { if (bta_dm_acl_cb.p_acl_cback) { tBTA_DM_SEC conn; tBTA_DM_ACL conn{}; memset(&conn, 0, sizeof(tBTA_DM_SEC)); conn.link_down.bd_addr = bd_addr; conn.link_down.bd_addr = bd_addr; conn.link_down.transport_link_type = transport; conn.link_down.transport_link_type = transport; bta_dm_cb.p_sec_cback(BTA_DM_LINK_DOWN_EVT, &conn); bta_dm_acl_cb.p_acl_cback(BTA_DM_LINK_DOWN_EVT, &conn); if (issue_unpair_cb) bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &conn); } // TODO: reorganize and factor out the following logic if (issue_unpair_cb && bta_dm_cb.p_sec_cback) { tBTA_DM_SEC conn{}; conn.dev_unpair.bd_addr = bd_addr; conn.dev_unpair.transport_link_type = transport; bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &conn); } } bta_dm_adjust_roles(true); bta_dm_adjust_roles(true); Loading Loading @@ -1700,8 +1723,8 @@ void bta_dm_ble_reset_id(void) { static void bta_dm_ctrl_features_rd_cmpl_cback(tHCI_STATUS result) { static void bta_dm_ctrl_features_rd_cmpl_cback(tHCI_STATUS result) { APPL_TRACE_DEBUG("%s status = %d ", __func__, result); APPL_TRACE_DEBUG("%s status = %d ", __func__, result); if (result == HCI_SUCCESS) { if (result == HCI_SUCCESS) { if (bta_dm_cb.p_sec_cback) if (bta_dm_acl_cb.p_acl_cback) bta_dm_cb.p_sec_cback(BTA_DM_LE_FEATURES_READ, NULL); bta_dm_acl_cb.p_acl_cback(BTA_DM_LE_FEATURES_READ, NULL); } else { } else { APPL_TRACE_ERROR("%s Ctrl BLE feature read failed: status :%d", __func__, APPL_TRACE_ERROR("%s Ctrl BLE feature read failed: status :%d", __func__, result); result); Loading
system/bta/dm/bta_dm_int.h +8 −0 Original line number Original line Diff line number Diff line Loading @@ -346,6 +346,10 @@ extern tBTA_DM_CONNECTED_SRVCS bta_dm_conn_srvcs; #define BTA_DM_NUM_PM_TIMER 7 #define BTA_DM_NUM_PM_TIMER 7 typedef struct { tBTA_DM_ACL_CBACK* p_acl_cback; } tBTA_DM_ACL_CB; /* DM control block */ /* DM control block */ typedef struct { typedef struct { tBTA_DM_ACTIVE_LINK device_list; tBTA_DM_ACTIVE_LINK device_list; Loading Loading @@ -516,12 +520,16 @@ extern const tBTA_DM_EIR_CONF* p_bta_dm_eir_cfg; /* DM control block */ /* DM control block */ extern tBTA_DM_CB bta_dm_cb; extern tBTA_DM_CB bta_dm_cb; /* DM control block for ACL management */ extern tBTA_DM_ACL_CB bta_dm_acl_cb; /* DM search control block */ /* DM search control block */ extern tBTA_DM_SEARCH_CB bta_dm_search_cb; extern tBTA_DM_SEARCH_CB bta_dm_search_cb; /* DI control block */ /* DI control block */ extern tBTA_DM_DI_CB bta_dm_di_cb; extern tBTA_DM_DI_CB bta_dm_di_cb; void bta_dm_enable(tBTA_DM_SEC_CBACK*, tBTA_DM_ACL_CBACK*); void bta_dm_disable(); void bta_dm_disable(); void bta_dm_set_dev_name(const std::vector<uint8_t>&); void bta_dm_set_dev_name(const std::vector<uint8_t>&); void bta_dm_remove_device(const RawAddress& bd_addr); void bta_dm_remove_device(const RawAddress& bd_addr); Loading
system/bta/dm/bta_dm_main.cc +1 −0 Original line number Original line Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include "stack/include/bt_hdr.h" #include "stack/include/bt_hdr.h" #include "stack/include/bt_types.h" #include "stack/include/bt_types.h" tBTA_DM_ACL_CB bta_dm_acl_cb; tBTA_DM_CB bta_dm_cb; tBTA_DM_CB bta_dm_cb; tBTA_DM_DI_CB bta_dm_di_cb; tBTA_DM_DI_CB bta_dm_di_cb; Loading
system/bta/dm/bta_dm_sec.cc +1 −1 Original line number Original line Diff line number Diff line Loading @@ -104,7 +104,7 @@ void btm_dm_sec_init() { } } /** Initialises the BT device security manager */ /** Initialises the BT device security manager */ void bta_dm_enable(tBTA_DM_SEC_CBACK* p_sec_cback) { void bta_dm_sec_enable(tBTA_DM_SEC_CBACK* p_sec_cback) { /* make sure security callback is saved - if no callback, do not erase the /* make sure security callback is saved - if no callback, do not erase the previous one, previous one, it could be an error recovery mechanism */ it could be an error recovery mechanism */ Loading
system/bta/dm/bta_dm_sec.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -22,6 +22,8 @@ #include "bta/include/bta_api.h" #include "bta/include/bta_api.h" #include "osi/include/osi.h" // UNUSED_ATTR #include "osi/include/osi.h" // UNUSED_ATTR void bta_dm_sec_enable(tBTA_DM_SEC_CBACK* p_sec_cback); void bta_dm_add_ble_device(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, void bta_dm_add_ble_device(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_DEVICE_TYPE dev_type); tBT_DEVICE_TYPE dev_type); void bta_dm_add_blekey(const RawAddress& bd_addr, tBTA_LE_KEY_VALUE blekey, void bta_dm_add_blekey(const RawAddress& bd_addr, tBTA_LE_KEY_VALUE blekey, Loading