Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b720db7 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Use closures in advertising related code

This patch is a preparation to get rid of BTA layer for advertising, and
for further refactoring required to keep this code maintainable.

Tests: SL4A/ConcurrentBleAdvertisingTest
Bug: 30622771
Change-Id: I574b57159390d090b16d264d3c1fba2f07b70d4c
parent 178a30dd
Loading
Loading
Loading
Loading
+47 −63
Original line number Diff line number Diff line
@@ -4728,12 +4728,10 @@ void bta_dm_ble_observe (tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void bta_dm_ble_set_adv_params (tBTA_DM_MSG *p_data)
void bta_dm_ble_set_adv_params (uint16_t adv_int_min, uint16_t adv_int_max,
                                tBLE_BD_ADDR *p_dir_bda)
{
    BTM_BleSetAdvParams(p_data->ble_set_adv_params.adv_int_min,
                        p_data->ble_set_adv_params.adv_int_max,
                        p_data->ble_set_adv_params.p_dir_bda,
                        BTA_DM_BLE_ADV_CHNL_MAP);
    BTM_BleSetAdvParams(adv_int_min, adv_int_max, p_dir_bda, BTA_DM_BLE_ADV_CHNL_MAP);
}

/*******************************************************************************
@@ -4745,18 +4743,17 @@ void bta_dm_ble_set_adv_params (tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void bta_dm_ble_set_adv_config (tBTA_DM_MSG *p_data)
void bta_dm_ble_set_adv_config (tBTA_BLE_AD_MASK data_mask,
                                tBTA_BLE_ADV_DATA *adv_cfg,
                                tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback)
{
    tBTA_STATUS status = BTA_FAILURE;

    if (BTM_BleWriteAdvData(p_data->ble_set_adv_data.data_mask,
                        (tBTM_BLE_ADV_DATA *)&p_data->ble_set_adv_data.adv_cfg) == BTM_SUCCESS)
    {
    if (BTM_BleWriteAdvData(data_mask, (tBTM_BLE_ADV_DATA *)adv_cfg) == BTM_SUCCESS)
        status = BTA_SUCCESS;
    }

    if (p_data->ble_set_adv_data.p_adv_data_cback)
        (*p_data->ble_set_adv_data.p_adv_data_cback)(status);
    if (p_adv_data_cback)
        (*p_adv_data_cback)(status);
}

/*******************************************************************************
@@ -4768,18 +4765,17 @@ void bta_dm_ble_set_adv_config (tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void bta_dm_ble_set_scan_rsp (tBTA_DM_MSG *p_data)
void bta_dm_ble_set_scan_rsp (tBTA_BLE_AD_MASK data_mask,
                              tBTA_BLE_ADV_DATA *adv_cfg,
                              tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback)
{
    tBTA_STATUS status = BTA_FAILURE;

    if(BTM_BleWriteScanRsp(p_data->ble_set_adv_data.data_mask,
                        (tBTM_BLE_ADV_DATA *)&p_data->ble_set_adv_data.adv_cfg) == BTM_SUCCESS)
    {
    if(BTM_BleWriteScanRsp(data_mask, (tBTM_BLE_ADV_DATA *)adv_cfg) == BTM_SUCCESS)
        status = BTA_SUCCESS;
    }

    if (p_data->ble_set_adv_data.p_adv_data_cback)
        (*p_data->ble_set_adv_data.p_adv_data_cback)(status);
    if (p_adv_data_cback)
        (*p_adv_data_cback)(status);
}

/*******************************************************************************
@@ -4823,23 +4819,20 @@ void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void bta_dm_ble_multi_adv_enb(tBTA_DM_MSG *p_data)
void bta_dm_ble_multi_adv_enb(tBTA_BLE_ADV_PARAMS *p_params,
                              tBTA_BLE_MULTI_ADV_CBACK *p_cback,void *p_ref)
{
    tBTM_STATUS btm_status = 0;

    bta_dm_cb.p_multi_adv_cback = p_data->ble_multi_adv_enb.p_cback;
    if(BTM_BleMaxMultiAdvInstanceCount() > 0 && NULL != p_data->ble_multi_adv_enb.p_ref)
    {
        btm_status = BTM_BleEnableAdvInstance((tBTM_BLE_ADV_PARAMS*)
                                            p_data->ble_multi_adv_enb.p_params,
                                            p_data->ble_multi_adv_enb.p_cback,
                                            p_data->ble_multi_adv_enb.p_ref);
    bta_dm_cb.p_multi_adv_cback = p_cback;
    if (BTM_BleMaxMultiAdvInstanceCount() > 0 && NULL != p_ref) {
        btm_status = BTM_BleEnableAdvInstance((tBTM_BLE_ADV_PARAMS *)p_params,
                                              p_cback, p_ref);
    }

    if(BTM_CMD_STARTED != btm_status)
    {
    if (BTM_CMD_STARTED != btm_status) {
        bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_ENB_EVT, 0xFF,
                                    p_data->ble_multi_adv_enb.p_ref, BTA_FAILURE);
                                    p_ref, BTA_FAILURE);
    }
}
/*******************************************************************************
@@ -4851,23 +4844,20 @@ void bta_dm_ble_multi_adv_enb(tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void bta_dm_ble_multi_adv_upd_param(tBTA_DM_MSG *p_data)
void bta_dm_ble_multi_adv_upd_param(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params)
{
    tBTM_STATUS btm_status = 0;
    void *p_ref = NULL;

    if(BTM_BleMaxMultiAdvInstanceCount() > 0 && p_data->ble_multi_adv_param.inst_id > 0
        && p_data->ble_multi_adv_param.inst_id < BTM_BleMaxMultiAdvInstanceCount())
    {
        btm_status = BTM_BleUpdateAdvInstParam(p_data->ble_multi_adv_param.inst_id,
                         (tBTM_BLE_ADV_PARAMS*)p_data->ble_multi_adv_param.p_params);
    if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0
        && inst_id < BTM_BleMaxMultiAdvInstanceCount()) {
        btm_status = BTM_BleUpdateAdvInstParam(inst_id,
                         (tBTM_BLE_ADV_PARAMS*)p_params);
    }

    if(BTM_CMD_STARTED != btm_status)
    {
       p_ref = btm_ble_multi_adv_get_ref(p_data->ble_multi_adv_param.inst_id);
       bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_PARAM_EVT,
                                   p_data->ble_multi_adv_param.inst_id, p_ref, BTA_FAILURE);
    if (BTM_CMD_STARTED != btm_status) {
       p_ref = btm_ble_multi_adv_get_ref(inst_id);
       bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_PARAM_EVT, inst_id, p_ref, BTA_FAILURE);
    }
}
/*******************************************************************************
@@ -4880,27 +4870,23 @@ void bta_dm_ble_multi_adv_upd_param(tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void bta_dm_ble_multi_adv_data(tBTA_DM_MSG *p_data)
void bta_dm_ble_multi_adv_data(uint8_t inst_id, bool is_scan_rsp,
                               tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA data)
{
    tBTM_STATUS btm_status = 0;
    void *p_ref = NULL;

    if(BTM_BleMaxMultiAdvInstanceCount() > 0 && p_data->ble_multi_adv_data.inst_id > 0
        && p_data->ble_multi_adv_data.inst_id < BTM_BleMaxMultiAdvInstanceCount())
    {
        btm_status = BTM_BleCfgAdvInstData(p_data->ble_multi_adv_data.inst_id,
                        p_data->ble_multi_adv_data.is_scan_rsp,
                        p_data->ble_multi_adv_data.data_mask,
                        (tBTM_BLE_ADV_DATA*)&p_data->ble_multi_adv_data.data);
    if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0
        && inst_id < BTM_BleMaxMultiAdvInstanceCount()) {
        btm_status = BTM_BleCfgAdvInstData(inst_id, is_scan_rsp, data_mask,
                        (tBTM_BLE_ADV_DATA*)&data);
    }

    if(BTM_CMD_STARTED != btm_status)
    {
       p_ref = btm_ble_multi_adv_get_ref(p_data->ble_multi_adv_data.inst_id);
    if (BTM_CMD_STARTED != btm_status) {
       p_ref = btm_ble_multi_adv_get_ref(inst_id);
       bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DATA_EVT,
                                   p_data->ble_multi_adv_data.inst_id, p_ref, BTA_FAILURE);
                                   inst_id, p_ref, BTA_FAILURE);
    }

}
/*******************************************************************************
**
@@ -4911,22 +4897,20 @@ void bta_dm_ble_multi_adv_data(tBTA_DM_MSG *p_data)
** Parameters:
**
*******************************************************************************/
void btm_dm_ble_multi_adv_disable(tBTA_DM_MSG *p_data)
void btm_dm_ble_multi_adv_disable(uint8_t inst_id)
{
    tBTM_STATUS btm_status = 0;
    void *p_ref = NULL;

    if(BTM_BleMaxMultiAdvInstanceCount() > 0 && p_data->ble_multi_adv_disable.inst_id > 0
        && p_data->ble_multi_adv_disable.inst_id < BTM_BleMaxMultiAdvInstanceCount())
    {
        btm_status = BTM_BleDisableAdvInstance(p_data->ble_multi_adv_disable.inst_id);
    if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0
        && inst_id < BTM_BleMaxMultiAdvInstanceCount()) {
        btm_status = BTM_BleDisableAdvInstance(inst_id);
    }

    if(BTM_CMD_STARTED != btm_status)
    {
       p_ref = btm_ble_multi_adv_get_ref(p_data->ble_multi_adv_disable.inst_id);
    if (BTM_CMD_STARTED != btm_status) {
       p_ref = btm_ble_multi_adv_get_ref(inst_id);
       bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DISABLE_EVT,
                                   p_data->ble_multi_adv_disable.inst_id, p_ref, BTA_FAILURE);
                                   inst_id, p_ref, BTA_FAILURE);
    }
}

+35 −69
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include "bt_common.h"
#include "bta_sys.h"
#include "bta_api.h"
#include "bta_closure_api.h"
#include "bta_dm_int.h"
#include "bta_sys_int.h"
#include "btm_api.h"
@@ -883,21 +884,16 @@ void BTA_DmSetBleAdvParams (uint16_t adv_int_min, uint16_t adv_int_max,
                           tBLE_BD_ADDR *p_dir_bda)
{
#if (BLE_INCLUDED == TRUE)
    tBTA_DM_API_BLE_ADV_PARAMS *p_msg =
        (tBTA_DM_API_BLE_ADV_PARAMS *)osi_calloc(sizeof(tBTA_DM_API_BLE_ADV_PARAMS));

    APPL_TRACE_API("BTA_DmSetBleAdvParam: %d, %d", adv_int_min, adv_int_max);

    p_msg->hdr.event = BTA_DM_API_BLE_ADV_PARAM_EVT;
    p_msg->adv_int_min = adv_int_min;
    p_msg->adv_int_max = adv_int_max;

    if (p_dir_bda != NULL) {
        p_msg->p_dir_bda = (tBLE_BD_ADDR *)(p_msg + 1);
        memcpy(p_msg->p_dir_bda, p_dir_bda, sizeof(tBLE_BD_ADDR));
        tBLE_BD_ADDR *bda  = new tBLE_BD_ADDR;
        memcpy(bda, p_dir_bda, sizeof(tBLE_BD_ADDR));
        do_in_bta_thread(FROM_HERE,
          base::Bind(&bta_dm_ble_set_adv_params, adv_int_min, adv_int_max, base::Owned(bda)));
    }

    bta_sys_sendmsg(p_msg);
    do_in_bta_thread(FROM_HERE,
      base::Bind(&bta_dm_ble_set_adv_params, adv_int_min, adv_int_max, nullptr));

#endif
}

@@ -924,14 +920,11 @@ void BTA_DmSetBleAdvParams (uint16_t adv_int_min, uint16_t adv_int_max,
void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg,
                            tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback)
{
  tBTA_DM_API_SET_ADV_CONFIG *p_msg = (tBTA_DM_API_SET_ADV_CONFIG*) osi_calloc(sizeof(*p_msg));

  p_msg->hdr.event = BTA_DM_API_BLE_SET_ADV_CONFIG_EVT;
  p_msg->data_mask = data_mask;
  p_msg->p_adv_data_cback = p_adv_data_cback;
  memcpy(&p_msg->adv_cfg, p_adv_cfg, sizeof(p_msg->adv_cfg));
  tBTA_BLE_ADV_DATA *adv_cfg = new tBTA_BLE_ADV_DATA;
  memcpy(adv_cfg, p_adv_cfg, sizeof(tBTA_BLE_ADV_DATA));

  bta_sys_sendmsg(p_msg);
  do_in_bta_thread(FROM_HERE,
      base::Bind(&bta_dm_ble_set_adv_config, data_mask, base::Owned(adv_cfg), p_adv_data_cback));
}

/*******************************************************************************
@@ -948,14 +941,11 @@ void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv
extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg,
                                 tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback)
{
  tBTA_DM_API_SET_ADV_CONFIG *p_msg = (tBTA_DM_API_SET_ADV_CONFIG*) osi_calloc(sizeof(*p_msg));

  p_msg->hdr.event = BTA_DM_API_BLE_SET_SCAN_RSP_EVT;
  p_msg->data_mask = data_mask;
  p_msg->p_adv_data_cback = p_adv_data_cback;
  memcpy(&p_msg->adv_cfg, p_adv_cfg, sizeof(p_msg->adv_cfg));
  tBTA_BLE_ADV_DATA *adv_cfg = new tBTA_BLE_ADV_DATA;
  memcpy(adv_cfg, p_adv_cfg, sizeof(tBTA_BLE_ADV_DATA));

  bta_sys_sendmsg(p_msg);
  do_in_bta_thread(FROM_HERE,
      base::Bind(&bta_dm_ble_set_scan_rsp, data_mask, base::Owned(adv_cfg), p_adv_data_cback));
}

/*******************************************************************************
@@ -1390,22 +1380,18 @@ void BTA_BleEnableAdvInstance (tBTA_BLE_ADV_PARAMS *p_params,
                               tBTA_BLE_MULTI_ADV_CBACK *p_cback,
                               void *p_ref)
{
    const size_t len = sizeof(tBTA_BLE_ADV_PARAMS) +
        sizeof(tBTA_DM_API_BLE_MULTI_ADV_ENB);
    tBTA_DM_API_BLE_MULTI_ADV_ENB *p_msg =
        (tBTA_DM_API_BLE_MULTI_ADV_ENB *)osi_calloc(len);

    APPL_TRACE_API("%s", __func__);

    p_msg->hdr.event = BTA_DM_API_BLE_MULTI_ADV_ENB_EVT;
    p_msg->p_cback = (tBTA_BLE_MULTI_ADV_CBACK *)p_cback;
    if (p_params != NULL) {
        p_msg->p_params = (tBTA_BLE_ADV_PARAMS *)(p_msg + 1);
        memcpy(p_msg->p_params, p_params, sizeof(tBTA_BLE_ADV_PARAMS));
        tBTA_BLE_ADV_PARAMS *params = new tBTA_BLE_ADV_PARAMS;
        memcpy(params, p_params, sizeof(tBTA_BLE_ADV_PARAMS));
        do_in_bta_thread(FROM_HERE,
            base::Bind(&bta_dm_ble_multi_adv_enb, base::Owned(params),
                       p_cback, p_ref));
    } else {
        do_in_bta_thread(FROM_HERE,
            base::Bind(&bta_dm_ble_multi_adv_enb, nullptr, p_cback, p_ref));
    }
    p_msg->p_ref = p_ref;

    bta_sys_sendmsg(p_msg);
}

/*******************************************************************************
@@ -1423,19 +1409,12 @@ void BTA_BleEnableAdvInstance (tBTA_BLE_ADV_PARAMS *p_params,
*******************************************************************************/
void BTA_BleUpdateAdvInstParam (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params)
{
    const size_t len = sizeof(tBTA_BLE_ADV_PARAMS) +
        sizeof(tBTA_DM_API_BLE_MULTI_ADV_PARAM);
    tBTA_DM_API_BLE_MULTI_ADV_PARAM *p_msg =
        (tBTA_DM_API_BLE_MULTI_ADV_PARAM *)osi_calloc(len);

    APPL_TRACE_API("%s", __func__);

    p_msg->hdr.event = BTA_DM_API_BLE_MULTI_ADV_PARAM_UPD_EVT;
    p_msg->inst_id = inst_id;
    p_msg->p_params = (tBTA_BLE_ADV_PARAMS *)(p_msg + 1);
    memcpy(p_msg->p_params, p_params, sizeof(tBTA_BLE_ADV_PARAMS));

    bta_sys_sendmsg(p_msg);
    tBTA_BLE_ADV_PARAMS *params = new tBTA_BLE_ADV_PARAMS;
    memcpy(params, p_params, sizeof(tBTA_BLE_ADV_PARAMS));
    do_in_bta_thread(FROM_HERE,
        base::Bind(&bta_dm_ble_multi_adv_upd_param, inst_id, base::Owned(params)));
}

/*******************************************************************************
@@ -1459,16 +1438,8 @@ void BTA_BleCfgAdvInstData (uint8_t inst_id, bool is_scan_rsp,
                            tBTA_BLE_AD_MASK data_mask,
                            tBTA_BLE_ADV_DATA *p_data)
{
  tBTA_DM_API_BLE_MULTI_ADV_DATA *p_msg =
    (tBTA_DM_API_BLE_MULTI_ADV_DATA*) osi_calloc(sizeof(*p_msg));

  p_msg->hdr.event = BTA_DM_API_BLE_MULTI_ADV_DATA_EVT;
  p_msg->inst_id = inst_id;
  p_msg->is_scan_rsp = is_scan_rsp;
  p_msg->data_mask = data_mask;
  memcpy(&p_msg->data, p_data, sizeof(p_msg->data));

  bta_sys_sendmsg(p_msg);
  do_in_bta_thread(FROM_HERE,
      base::Bind(&bta_dm_ble_multi_adv_data, inst_id, is_scan_rsp, data_mask, *p_data));
}

/*******************************************************************************
@@ -1484,15 +1455,10 @@ void BTA_BleCfgAdvInstData (uint8_t inst_id, bool is_scan_rsp,
*******************************************************************************/
void BTA_BleDisableAdvInstance(uint8_t inst_id)
{
    tBTA_DM_API_BLE_MULTI_ADV_DISABLE *p_msg =
        (tBTA_DM_API_BLE_MULTI_ADV_DISABLE *)osi_calloc(sizeof(tBTA_DM_API_BLE_MULTI_ADV_DISABLE));

    APPL_TRACE_API("%s: %d", __func__, inst_id);

    p_msg->hdr.event = BTA_DM_API_BLE_MULTI_ADV_DISABLE_EVT;
    p_msg->inst_id = inst_id;

    bta_sys_sendmsg(p_msg);
    do_in_bta_thread(FROM_HERE,
        base::Bind(&btm_dm_ble_multi_adv_disable, inst_id));
}

/*******************************************************************************
+19 −67
Original line number Diff line number Diff line
@@ -93,9 +93,6 @@ enum
#if (BLE_PRIVACY_SPT == TRUE)
    BTA_DM_API_LOCAL_PRIVACY_EVT,
#endif
    BTA_DM_API_BLE_ADV_PARAM_EVT,
    BTA_DM_API_BLE_SET_ADV_CONFIG_EVT,
    BTA_DM_API_BLE_SET_SCAN_RSP_EVT,
    BTA_DM_API_BLE_BROADCAST_EVT,
    BTA_DM_API_SET_DATA_LENGTH_EVT,

@@ -104,10 +101,6 @@ enum
    BTA_DM_API_SCAN_FILTER_SETUP_EVT,
    BTA_DM_API_SCAN_FILTER_ENABLE_EVT,
#endif
    BTA_DM_API_BLE_MULTI_ADV_ENB_EVT,
    BTA_DM_API_BLE_MULTI_ADV_PARAM_UPD_EVT,
    BTA_DM_API_BLE_MULTI_ADV_DATA_EVT,
    BTA_DM_API_BLE_MULTI_ADV_DISABLE_EVT,
    BTA_DM_API_BLE_SETUP_STORAGE_EVT,
    BTA_DM_API_BLE_ENABLE_BATCH_SCAN_EVT,
    BTA_DM_API_BLE_DISABLE_BATCH_SCAN_EVT,
@@ -489,13 +482,6 @@ typedef struct
}tBTA_DM_API_BLE_SET_DATA_LENGTH;

/* set adv parameter for BLE advertising */
typedef struct
{
    BT_HDR                  hdr;
    uint16_t                  adv_int_min;
    uint16_t                  adv_int_max;
    tBLE_BD_ADDR            *p_dir_bda;
}tBTA_DM_API_BLE_ADV_PARAMS;

typedef struct
{
@@ -504,45 +490,7 @@ typedef struct

}tBTA_DM_API_BLE_FEATURE;

/* multi adv data structure */
typedef struct
{
    BT_HDR                      hdr;
    tBTA_BLE_MULTI_ADV_CBACK    *p_cback;
    void                        *p_ref;
    tBTA_BLE_ADV_PARAMS         *p_params;
}tBTA_DM_API_BLE_MULTI_ADV_ENB;

typedef struct
{
    BT_HDR                      hdr;
    uint8_t                        inst_id;
    tBTA_BLE_ADV_PARAMS         *p_params;
}tBTA_DM_API_BLE_MULTI_ADV_PARAM;

typedef struct
{
    BT_HDR                  hdr;
    uint8_t                   inst_id;
    bool                 is_scan_rsp;
    tBTA_BLE_AD_MASK        data_mask;
    tBTA_BLE_ADV_DATA       data;
}tBTA_DM_API_BLE_MULTI_ADV_DATA;

typedef struct
{
    BT_HDR                  hdr;
    uint8_t                   inst_id;
}tBTA_DM_API_BLE_MULTI_ADV_DISABLE;

typedef struct
{
    BT_HDR                  hdr;
    uint32_t                  data_mask;
    tBTA_BLE_ADV_DATA       adv_cfg;
    tBTA_SET_ADV_DATA_CMPL_CBACK    *p_adv_data_cback;
}tBTA_DM_API_SET_ADV_CONFIG;

/* adv data structure */
typedef struct
{
    BT_HDR                  hdr;
@@ -715,8 +663,6 @@ typedef union
    tBTA_DM_API_BLE_OBSERVE             ble_observe;
    tBTA_DM_API_ENABLE_PRIVACY          ble_remote_privacy;
    tBTA_DM_API_LOCAL_PRIVACY           ble_local_privacy;
    tBTA_DM_API_BLE_ADV_PARAMS          ble_set_adv_params;
    tBTA_DM_API_SET_ADV_CONFIG          ble_set_adv_data;
#if (BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE)
    tBTA_DM_API_SCAN_FILTER_PARAM_SETUP ble_scan_filt_param_setup;
    tBTA_DM_API_CFG_FILTER_COND         ble_cfg_filter_cond;
@@ -725,11 +671,6 @@ typedef union
    tBTA_DM_API_UPDATE_CONN_PARAM       ble_update_conn_params;
    tBTA_DM_API_BLE_SET_DATA_LENGTH     ble_set_data_length;

    tBTA_DM_API_BLE_MULTI_ADV_ENB       ble_multi_adv_enb;
    tBTA_DM_API_BLE_MULTI_ADV_PARAM     ble_multi_adv_param;
    tBTA_DM_API_BLE_MULTI_ADV_DATA      ble_multi_adv_data;
    tBTA_DM_API_BLE_MULTI_ADV_DISABLE   ble_multi_adv_disable;

    tBTA_DM_API_SET_STORAGE_CONFIG      ble_set_storage;
    tBTA_DM_API_ENABLE_SCAN             ble_enable_scan;
    tBTA_DM_API_READ_SCAN_REPORTS       ble_read_reports;
@@ -1097,9 +1038,15 @@ extern void bta_dm_close_gatt_conn(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_observe (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_update_conn_params (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_set_adv_params (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_set_adv_config (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_set_scan_rsp (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_set_adv_params(uint16_t adv_int_min, uint16_t adv_int_max,
                                      tBLE_BD_ADDR *p_dir_bda);
extern void bta_dm_ble_set_adv_config (tBTA_BLE_AD_MASK data_mask,
                                       tBTA_BLE_ADV_DATA *adv_cfg,
                                       tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback);
extern void bta_dm_ble_set_scan_rsp (tBTA_BLE_AD_MASK data_mask,
                                     tBTA_BLE_ADV_DATA *adv_cfg,
                                     tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback);

extern void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data);
extern void bta_dm_ble_set_data_length(tBTA_DM_MSG *p_data);

@@ -1108,10 +1055,15 @@ extern void bta_dm_cfg_filter_cond (tBTA_DM_MSG *p_data);
extern void bta_dm_scan_filter_param_setup (tBTA_DM_MSG *p_data);
extern void bta_dm_enable_scan_filter(tBTA_DM_MSG *p_data);
#endif
extern void btm_dm_ble_multi_adv_disable(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_multi_adv_data(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_multi_adv_upd_param(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_multi_adv_enb(tBTA_DM_MSG *p_data);
extern void btm_dm_ble_multi_adv_disable(uint8_t inst_id);
extern void bta_dm_ble_multi_adv_data(uint8_t inst_id, bool is_scan_rsp,
                                      tBTA_BLE_AD_MASK data_mask,
                                      tBTA_BLE_ADV_DATA data);
extern void bta_dm_ble_multi_adv_upd_param(uint8_t inst_id,
                                           tBTA_BLE_ADV_PARAMS *p_params);
extern void bta_dm_ble_multi_adv_enb(tBTA_BLE_ADV_PARAMS *p_params,
                                     tBTA_BLE_MULTI_ADV_CBACK *p_cback,
                                     void *p_ref);

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);
+0 −7
Original line number Diff line number Diff line
@@ -89,9 +89,6 @@ const tBTA_DM_ACTION bta_dm_action[] =
#if (BLE_PRIVACY_SPT == TRUE)
    bta_dm_ble_config_local_privacy,   /* BTA_DM_API_LOCAL_PRIVACY_EVT */
#endif
    bta_dm_ble_set_adv_params,     /* BTA_DM_API_BLE_ADV_PARAM_EVT */
    bta_dm_ble_set_adv_config,     /* BTA_DM_API_BLE_SET_ADV_CONFIG_EVT */
    bta_dm_ble_set_scan_rsp,       /* BTA_DM_API_BLE_SET_SCAN_RSPT */
    bta_dm_ble_broadcast,          /* BTA_DM_API_BLE_BROADCAST_EVT */
    bta_dm_ble_set_data_length,    /* BTA_DM_API_SET_DATA_LENGTH_EVT */
#if (BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE)
@@ -99,10 +96,6 @@ const tBTA_DM_ACTION bta_dm_action[] =
    bta_dm_scan_filter_param_setup, /* BTA_DM_API_SCAN_FILTER_SETUP_EVT */
    bta_dm_enable_scan_filter,      /* BTA_DM_API_SCAN_FILTER_ENABLE_EVT */
#endif
    bta_dm_ble_multi_adv_enb,           /*  BTA_DM_API_BLE_MULTI_ADV_ENB_EVT*/
    bta_dm_ble_multi_adv_upd_param,     /*  BTA_DM_API_BLE_MULTI_ADV_PARAM_UPD_EVT */
    bta_dm_ble_multi_adv_data,          /*  BTA_DM_API_BLE_MULTI_ADV_DATA_EVT */
    btm_dm_ble_multi_adv_disable,       /*  BTA_DM_API_BLE_MULTI_ADV_DISABLE_EVT */
    bta_dm_ble_setup_storage,      /* BTA_DM_API_BLE_SETUP_STORAGE_EVT */
    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 */