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

Commit 439066db authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by Gerrit Code Review
Browse files

Merge "Convert BLE multi-advertising code to C++"

parents 32b5d882 c09e8aa0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#include <hardware/bluetooth.h>
#include <vector>

#include "bta_api.h"
#include "ble_advertiser.h"

#define CLNT_IF_IDX 0
#define INST_ID_IDX 1
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include <base/bind.h>

#include "bta_closure_api.h"
#include "bta_api.h"
#include "ble_advertiser.h"
#include "bta_gatt_api.h"
#include "btif_common.h"
#include "btif_gatt.h"
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ LOCAL_SRC_FILES := \
    ./btm/btm_dev.c \
    ./btm/btm_ble_gap.c \
    ./btm/btm_ble_adv_filter.c \
    ./btm/btm_ble_multi_adv.c \
    ./btm/btm_ble_multi_adv.cc \
    ./btm/btm_ble_batchscan.c \
    ./btm/btm_ble_cont_energy.c \
    ./btm/btm_ble_privacy.c \
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ static_library("stack") {
    "btm/btm_dev.c",
    "btm/btm_ble_gap.c",
    "btm/btm_ble_adv_filter.c",
    "btm/btm_ble_multi_adv.c",
    "btm/btm_ble_multi_adv.cc",
    "btm/btm_ble_batchscan.c",
    "btm/btm_ble_cont_energy.c",
    "btm/btm_ble_privacy.c",
+14 −9
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include "btm_int.h"
#include "bt_utils.h"
#include "hcidefs.h"
#include "ble_advertiser.h"
#include "btm_ble_api.h"

typedef void (*tBTM_BLE_MULTI_ADV_CMPL_CB) (uint8_t status, uint8_t inst_id);
@@ -84,7 +85,8 @@ tBTM_BLE_MULTI_ADV_INST_IDX_Q btm_multi_adv_idx_q;
**  Externs
************************************************************************************/
extern fixed_queue_t *btu_general_alarm_queue;
extern void btm_ble_update_dmt_flag_bits(uint8_t *flag_value,
//TODO(jpawlowski): get rid of this extern
extern "C" void btm_ble_update_dmt_flag_bits(uint8_t *flag_value,
                                               const uint16_t connect_mode, const uint16_t disc_mode);

/*******************************************************************************
@@ -808,17 +810,20 @@ void btm_ble_multi_adv_init()
    btm_multi_adv_idx_q.rear = -1;

    if (btm_cb.cmn_ble_vsc_cb.adv_inst_max > 0) {
        btm_multi_adv_cb.p_adv_inst = osi_calloc(sizeof(tBTM_BLE_MULTI_ADV_INST) *
                                                 (btm_cb.cmn_ble_vsc_cb.adv_inst_max));
        btm_multi_adv_cb.p_adv_inst = reinterpret_cast<tBTM_BLE_MULTI_ADV_INST *>(
            osi_calloc(sizeof(tBTM_BLE_MULTI_ADV_INST) *
                       (btm_cb.cmn_ble_vsc_cb.adv_inst_max)));

        btm_multi_adv_cb.op_q.p_sub_code = osi_calloc(sizeof(uint8_t) *
                                                      (btm_cb.cmn_ble_vsc_cb.adv_inst_max));
        btm_multi_adv_cb.op_q.p_sub_code = reinterpret_cast<uint8_t *>(
            osi_calloc(sizeof(uint8_t) * (btm_cb.cmn_ble_vsc_cb.adv_inst_max)));

        btm_multi_adv_cb.op_q.p_inst_id = osi_calloc(sizeof(uint8_t) *
                                                     (btm_cb.cmn_ble_vsc_cb.adv_inst_max));
        btm_multi_adv_cb.op_q.p_inst_id = reinterpret_cast<uint8_t *>(
            osi_calloc(sizeof(uint8_t) * (btm_cb.cmn_ble_vsc_cb.adv_inst_max)));

        btm_multi_adv_cb.op_q.callback = osi_calloc(sizeof(tBTM_BLE_MULTI_ADV_CMPL_CB) *
                                                     (btm_cb.cmn_ble_vsc_cb.adv_inst_max));
        btm_multi_adv_cb.op_q.callback =
            reinterpret_cast<tBTM_BLE_MULTI_ADV_CMPL_CB *>(
                osi_calloc(sizeof(tBTM_BLE_MULTI_ADV_CMPL_CB) *
                           (btm_cb.cmn_ble_vsc_cb.adv_inst_max)));
    }

    /* Initialize adv instance indices and IDs. */
Loading