Loading system/bta/dm/bta_dm_act.c +15 −0 Original line number Diff line number Diff line Loading @@ -5426,6 +5426,21 @@ void bta_dm_ble_read_scan_reports(tBTA_DM_MSG *p_data) #endif } /******************************************************************************* ** ** Function bta_dm_ble_track_advertiser ** ** Description This function tracks the specific advertiser ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_track_advertiser(tBTA_DM_MSG *p_data) { BTM_BleTrackAdvertiser(p_data->ble_track_advert.p_track_adv_cback, p_data->ble_track_advert.ref_value); } /******************************************************************************* ** ** Function bta_ble_scan_setup_cb Loading system/bta/dm/bta_dm_api.c +28 −1 Original line number Diff line number Diff line Loading @@ -1705,6 +1705,33 @@ BTA_API extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type, } } /******************************************************************************* ** ** Function BTA_DmBleTrackAdvertiser ** ** Description This function is called to track advertiser ** ** Parameters ref_value - Reference value ** p_track_adv_cback - Track ADV callback ** ** Returns None ** *******************************************************************************/ BTA_API extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value, tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback) { tBTA_DM_API_TRACK_ADVERTISER *p_msg; if ((p_msg = (tBTA_DM_API_TRACK_ADVERTISER *) GKI_getbuf(sizeof(tBTA_DM_API_TRACK_ADVERTISER))) != NULL) { p_msg->hdr.event = BTA_DM_API_BLE_TRACK_ADVERTISER_EVT; p_msg->p_track_adv_cback = p_track_adv_cback; p_msg->ref_value = ref_value; bta_sys_sendmsg(p_msg); } } /******************************************************************************* ** ** Function BTA_DmBleBroadcast Loading system/bta/dm/bta_dm_int.h +6 −4 Original line number Diff line number Diff line Loading @@ -637,10 +637,8 @@ typedef struct typedef struct { BT_HDR hdr; UINT8 track_adv_action; tBLE_ADDR_TYPE addr_type; tBLE_BD_ADDR *p_bda; UINT8 onlost_timeout; tBTA_DM_BLE_REF_VALUE ref_value; tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback; } tBTA_DM_API_TRACK_ADVERTISER; #endif /* BLE_INCLUDED */ Loading Loading @@ -914,7 +912,9 @@ typedef struct BOOLEAN is_bta_dm_active; tBTA_DM_ACTIVE_LINK device_list; tBTA_DM_SEC_CBACK *p_sec_cback; #if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE)) tBTA_BLE_SCAN_SETUP_CBACK *p_setup_cback; #endif tBTA_DM_BLE_PF_CFG_CBACK *p_scan_filt_cfg_cback; tBTA_DM_BLE_PF_STATUS_CBACK *p_scan_filt_status_cback; tBTA_DM_BLE_PF_PARAM_CBACK *p_scan_filt_param_cback; Loading Loading @@ -1197,6 +1197,8 @@ extern void bta_dm_ble_setup_storage(tBTA_DM_MSG *p_data); extern void bta_dm_ble_enable_batch_scan(tBTA_DM_MSG * p_data); extern void bta_dm_ble_disable_batch_scan(tBTA_DM_MSG * p_data); extern void bta_dm_ble_read_scan_reports(tBTA_DM_MSG * p_data); extern void bta_dm_ble_track_advertiser(tBTA_DM_MSG * p_data); #endif extern void bta_dm_set_encryption(tBTA_DM_MSG *p_data); extern void bta_dm_confirm(tBTA_DM_MSG *p_data); Loading system/bta/dm/bta_dm_main.c +1 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ const tBTA_DM_ACTION bta_dm_action[] = bta_dm_ble_enable_batch_scan, /* BTA_DM_API_BLE_ENABLE_BATCH_SCAN_EVT */ bta_dm_ble_disable_batch_scan, /* BTA_DM_API_BLE_DISABLE_BATCH_SCAN_EVT */ bta_dm_ble_read_scan_reports, /* BTA_DM_API_BLE_READ_SCAN_REPORTS_EVT */ bta_dm_ble_track_advertiser, /* BTA_DM_API_BLE_TRACK_ADVERTISER_EVT */ #endif #if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) Loading system/bta/include/bta_api.h +40 −8 Original line number Diff line number Diff line Loading @@ -1132,9 +1132,16 @@ typedef void (tBTA_BLE_SCAN_THRESHOLD_CBACK)(tBTA_DM_BLE_REF_VALUE ref_value); typedef void (tBTA_BLE_SCAN_REP_CBACK) (tBTA_DM_BLE_REF_VALUE ref_value, UINT8 report_format, UINT8 num_records, UINT16 data_len, UINT8* p_rep_data, tBTA_STATUS status); typedef void (tBTA_BLE_SCAN_SETUP_CBACK) (tBTA_BLE_BATCH_SCAN_EVT evt, tBTA_DM_BLE_REF_VALUE ref_value, tBTA_STATUS status); typedef void (tBTA_BLE_TRACK_ADV_CMPL_CBACK)(int action, tBTA_STATUS status, tBTA_DM_BLE_PF_AVBL_SPACE avbl_space, tBTA_DM_BLE_REF_VALUE ref_value); typedef void (tBTA_BLE_TRACK_ADV_CBACK)(int filt_index, tBLE_ADDR_TYPE addr_type, BD_ADDR bda, int adv_state, tBTA_DM_BLE_REF_VALUE ref_value); #else typedef UINT8 tBTA_DM_BLE_SEC_ACT; #endif Loading Loading @@ -2413,7 +2420,7 @@ BTA_API extern void BTA_DmBleUpdateConnectionParams(BD_ADDR bd_addr, UINT16 min_ ** p_setup_cback - Setup callback ** p_thres_cback - Threshold callback ** p_rep_cback - Reports callback ** p_ref - Ref pointer ** ref_value - Reference value ** ** Returns None ** Loading @@ -2437,6 +2444,7 @@ BTA_API extern void BTA_DmBleSetStorageParams(UINT8 batch_scan_full_max, ** scan_window - Scan window ** discard_rule -Discard rules ** addr_type - Address type ** ref_value - Reference value ** ** Returns None ** Loading @@ -2454,6 +2462,7 @@ BTA_API extern void BTA_DmBleEnableBatchScan(tBTA_BLE_SCAN_MODE scan_mode, ** Description This function is called to read the batch scan reports ** ** Parameters scan_mode -Batch scan mode ** ref_value - Reference value ** ** Returns None ** Loading @@ -2467,7 +2476,7 @@ BTA_API extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type, ** ** Description This function is called to disable the batch scanning ** ** Parameters None ** Parameters ref_value - Reference value ** ** Returns None ** Loading @@ -2480,7 +2489,9 @@ BTA_API extern void BTA_DmBleDisableBatchScan(tBTA_DM_BLE_REF_VALUE ref_value); ** ** Description This function is called to enable the adv data payload filter ** ** Parameters action -1: enable the filter condition, 0 - disables the filter condition ** Parameters action - enable or disable the APCF feature ** p_cmpl_cback - Command completed callback ** ref_value - Reference value ** ** Returns void ** Loading @@ -2495,8 +2506,12 @@ BTA_API extern void BTA_DmEnableScanFilter(UINT8 action, ** ** Description This function is called to setup the filter params ** ** Parameters action: to read/write/clear ** filt_index - filter index ** Parameters p_target: enable the filter condition on a target device; if NULL ** filt_index - Filter index ** p_filt_params -Filter parameters ** ref_value - Reference value ** action - Add, delete or clear ** p_cmpl_back - Command completed callback ** ** Returns void ** Loading @@ -2516,10 +2531,11 @@ BTA_API extern void BTA_DmBleScanFilterSetup(UINT8 action, ** condition. ** ** Parameters action: to read/write/clear ** cond_type: filter condition type. ** filt_index - filter index ** cond_type: filter condition type ** filt_index - Filter index ** p_cond: filter condition parameter ** ref_value: Reference ** p_cmpl_back - Command completed callback ** ref_value - Reference value ** ** Returns void ** Loading @@ -2531,6 +2547,22 @@ BTA_API extern void BTA_DmBleCfgFilterCondition(tBTA_DM_BLE_SCAN_COND_OP action, tBTA_DM_BLE_PF_CFG_CBACK *p_cmpl_cback, tBTA_DM_BLE_REF_VALUE ref_value); /******************************************************************************* ** ** Function BTA_DmBleTrackAdvertiser ** ** Description This function is called to track the advertiser ** ** Parameters ref_value - Reference value ** p_track_adv_cback - ADV callback ** ** Returns None ** *******************************************************************************/ BTA_API extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value, tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback); #endif #ifdef __cplusplus Loading Loading
system/bta/dm/bta_dm_act.c +15 −0 Original line number Diff line number Diff line Loading @@ -5426,6 +5426,21 @@ void bta_dm_ble_read_scan_reports(tBTA_DM_MSG *p_data) #endif } /******************************************************************************* ** ** Function bta_dm_ble_track_advertiser ** ** Description This function tracks the specific advertiser ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_track_advertiser(tBTA_DM_MSG *p_data) { BTM_BleTrackAdvertiser(p_data->ble_track_advert.p_track_adv_cback, p_data->ble_track_advert.ref_value); } /******************************************************************************* ** ** Function bta_ble_scan_setup_cb Loading
system/bta/dm/bta_dm_api.c +28 −1 Original line number Diff line number Diff line Loading @@ -1705,6 +1705,33 @@ BTA_API extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type, } } /******************************************************************************* ** ** Function BTA_DmBleTrackAdvertiser ** ** Description This function is called to track advertiser ** ** Parameters ref_value - Reference value ** p_track_adv_cback - Track ADV callback ** ** Returns None ** *******************************************************************************/ BTA_API extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value, tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback) { tBTA_DM_API_TRACK_ADVERTISER *p_msg; if ((p_msg = (tBTA_DM_API_TRACK_ADVERTISER *) GKI_getbuf(sizeof(tBTA_DM_API_TRACK_ADVERTISER))) != NULL) { p_msg->hdr.event = BTA_DM_API_BLE_TRACK_ADVERTISER_EVT; p_msg->p_track_adv_cback = p_track_adv_cback; p_msg->ref_value = ref_value; bta_sys_sendmsg(p_msg); } } /******************************************************************************* ** ** Function BTA_DmBleBroadcast Loading
system/bta/dm/bta_dm_int.h +6 −4 Original line number Diff line number Diff line Loading @@ -637,10 +637,8 @@ typedef struct typedef struct { BT_HDR hdr; UINT8 track_adv_action; tBLE_ADDR_TYPE addr_type; tBLE_BD_ADDR *p_bda; UINT8 onlost_timeout; tBTA_DM_BLE_REF_VALUE ref_value; tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback; } tBTA_DM_API_TRACK_ADVERTISER; #endif /* BLE_INCLUDED */ Loading Loading @@ -914,7 +912,9 @@ typedef struct BOOLEAN is_bta_dm_active; tBTA_DM_ACTIVE_LINK device_list; tBTA_DM_SEC_CBACK *p_sec_cback; #if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE)) tBTA_BLE_SCAN_SETUP_CBACK *p_setup_cback; #endif tBTA_DM_BLE_PF_CFG_CBACK *p_scan_filt_cfg_cback; tBTA_DM_BLE_PF_STATUS_CBACK *p_scan_filt_status_cback; tBTA_DM_BLE_PF_PARAM_CBACK *p_scan_filt_param_cback; Loading Loading @@ -1197,6 +1197,8 @@ extern void bta_dm_ble_setup_storage(tBTA_DM_MSG *p_data); extern void bta_dm_ble_enable_batch_scan(tBTA_DM_MSG * p_data); extern void bta_dm_ble_disable_batch_scan(tBTA_DM_MSG * p_data); extern void bta_dm_ble_read_scan_reports(tBTA_DM_MSG * p_data); extern void bta_dm_ble_track_advertiser(tBTA_DM_MSG * p_data); #endif extern void bta_dm_set_encryption(tBTA_DM_MSG *p_data); extern void bta_dm_confirm(tBTA_DM_MSG *p_data); Loading
system/bta/dm/bta_dm_main.c +1 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ const tBTA_DM_ACTION bta_dm_action[] = bta_dm_ble_enable_batch_scan, /* BTA_DM_API_BLE_ENABLE_BATCH_SCAN_EVT */ bta_dm_ble_disable_batch_scan, /* BTA_DM_API_BLE_DISABLE_BATCH_SCAN_EVT */ bta_dm_ble_read_scan_reports, /* BTA_DM_API_BLE_READ_SCAN_REPORTS_EVT */ bta_dm_ble_track_advertiser, /* BTA_DM_API_BLE_TRACK_ADVERTISER_EVT */ #endif #if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) Loading
system/bta/include/bta_api.h +40 −8 Original line number Diff line number Diff line Loading @@ -1132,9 +1132,16 @@ typedef void (tBTA_BLE_SCAN_THRESHOLD_CBACK)(tBTA_DM_BLE_REF_VALUE ref_value); typedef void (tBTA_BLE_SCAN_REP_CBACK) (tBTA_DM_BLE_REF_VALUE ref_value, UINT8 report_format, UINT8 num_records, UINT16 data_len, UINT8* p_rep_data, tBTA_STATUS status); typedef void (tBTA_BLE_SCAN_SETUP_CBACK) (tBTA_BLE_BATCH_SCAN_EVT evt, tBTA_DM_BLE_REF_VALUE ref_value, tBTA_STATUS status); typedef void (tBTA_BLE_TRACK_ADV_CMPL_CBACK)(int action, tBTA_STATUS status, tBTA_DM_BLE_PF_AVBL_SPACE avbl_space, tBTA_DM_BLE_REF_VALUE ref_value); typedef void (tBTA_BLE_TRACK_ADV_CBACK)(int filt_index, tBLE_ADDR_TYPE addr_type, BD_ADDR bda, int adv_state, tBTA_DM_BLE_REF_VALUE ref_value); #else typedef UINT8 tBTA_DM_BLE_SEC_ACT; #endif Loading Loading @@ -2413,7 +2420,7 @@ BTA_API extern void BTA_DmBleUpdateConnectionParams(BD_ADDR bd_addr, UINT16 min_ ** p_setup_cback - Setup callback ** p_thres_cback - Threshold callback ** p_rep_cback - Reports callback ** p_ref - Ref pointer ** ref_value - Reference value ** ** Returns None ** Loading @@ -2437,6 +2444,7 @@ BTA_API extern void BTA_DmBleSetStorageParams(UINT8 batch_scan_full_max, ** scan_window - Scan window ** discard_rule -Discard rules ** addr_type - Address type ** ref_value - Reference value ** ** Returns None ** Loading @@ -2454,6 +2462,7 @@ BTA_API extern void BTA_DmBleEnableBatchScan(tBTA_BLE_SCAN_MODE scan_mode, ** Description This function is called to read the batch scan reports ** ** Parameters scan_mode -Batch scan mode ** ref_value - Reference value ** ** Returns None ** Loading @@ -2467,7 +2476,7 @@ BTA_API extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type, ** ** Description This function is called to disable the batch scanning ** ** Parameters None ** Parameters ref_value - Reference value ** ** Returns None ** Loading @@ -2480,7 +2489,9 @@ BTA_API extern void BTA_DmBleDisableBatchScan(tBTA_DM_BLE_REF_VALUE ref_value); ** ** Description This function is called to enable the adv data payload filter ** ** Parameters action -1: enable the filter condition, 0 - disables the filter condition ** Parameters action - enable or disable the APCF feature ** p_cmpl_cback - Command completed callback ** ref_value - Reference value ** ** Returns void ** Loading @@ -2495,8 +2506,12 @@ BTA_API extern void BTA_DmEnableScanFilter(UINT8 action, ** ** Description This function is called to setup the filter params ** ** Parameters action: to read/write/clear ** filt_index - filter index ** Parameters p_target: enable the filter condition on a target device; if NULL ** filt_index - Filter index ** p_filt_params -Filter parameters ** ref_value - Reference value ** action - Add, delete or clear ** p_cmpl_back - Command completed callback ** ** Returns void ** Loading @@ -2516,10 +2531,11 @@ BTA_API extern void BTA_DmBleScanFilterSetup(UINT8 action, ** condition. ** ** Parameters action: to read/write/clear ** cond_type: filter condition type. ** filt_index - filter index ** cond_type: filter condition type ** filt_index - Filter index ** p_cond: filter condition parameter ** ref_value: Reference ** p_cmpl_back - Command completed callback ** ref_value - Reference value ** ** Returns void ** Loading @@ -2531,6 +2547,22 @@ BTA_API extern void BTA_DmBleCfgFilterCondition(tBTA_DM_BLE_SCAN_COND_OP action, tBTA_DM_BLE_PF_CFG_CBACK *p_cmpl_cback, tBTA_DM_BLE_REF_VALUE ref_value); /******************************************************************************* ** ** Function BTA_DmBleTrackAdvertiser ** ** Description This function is called to track the advertiser ** ** Parameters ref_value - Reference value ** p_track_adv_cback - ADV callback ** ** Returns None ** *******************************************************************************/ BTA_API extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value, tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback); #endif #ifdef __cplusplus Loading