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

Commit 24ed18a9 authored by Chris Manton's avatar Chris Manton
Browse files

legacy: Co-locate SDP config database

Bug: 163134718
Tag: #refactor
Test: gd/cert/run

Change-Id: Ife481fc8daecc83ab5bdfcae8173976fb93ba3ea
parent 0de54db9
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -366,14 +366,6 @@ typedef uint32_t(tBTA_JV_RFCOMM_CBACK)(tBTA_JV_EVT event, tBTA_JV* p_data,
typedef void(tBTA_JV_L2CAP_CBACK)(tBTA_JV_EVT event, tBTA_JV* p_data,
                                  uint32_t l2cap_socket_id);

/* JV configuration structure */
typedef struct {
  uint16_t sdp_raw_size;       /* The size of p_sdp_raw_data */
  uint16_t sdp_db_size;        /* The size of p_sdp_db */
  uint8_t* p_sdp_raw_data;     /* The data buffer to keep raw data */
  tSDP_DISCOVERY_DB* p_sdp_db; /* The data buffer to keep SDP database */
} tBTA_JV_CFG;

/*******************************************************************************
 *
 * Function         BTA_JvEnable
+31 −2
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@

#define LOG_TAG "bluetooth"

#include <base/logging.h>

#include <cstdint>
#include <unordered_set>

@@ -38,11 +40,10 @@
#include "stack/include/bt_hdr.h"
#include "stack/include/gap_api.h"
#include "stack/include/port_api.h"
#include "stack/include/sdp_api.h"
#include "types/bluetooth/uuid.h"
#include "types/raw_address.h"

#include <base/logging.h>

using bluetooth::Uuid;

tBTA_JV_CB bta_jv_cb;
@@ -56,6 +57,34 @@ static void bta_jv_pm_conn_idle(tBTA_JV_PM_CB* p_cb);
static void bta_jv_pm_state_change(tBTA_JV_PM_CB* p_cb,
                                   const tBTA_JV_CONN_STATE state);

#ifndef BTA_JV_SDP_DB_SIZE
#define BTA_JV_SDP_DB_SIZE 4500
#endif

#ifndef BTA_JV_SDP_RAW_DATA_SIZE
#define BTA_JV_SDP_RAW_DATA_SIZE 1800
#endif

static uint8_t bta_jv_sdp_raw_data[BTA_JV_SDP_RAW_DATA_SIZE];
static tSDP_DISCOVERY_DB
    bta_jv_sdp_db_data[BTA_JV_SDP_DB_SIZE / sizeof(tSDP_DISCOVERY_DB)];

/* JV configuration structure */
struct tBTA_JV_CFG {
  uint16_t sdp_raw_size;       /* The size of p_sdp_raw_data */
  uint16_t sdp_db_size;        /* The size of p_sdp_db */
  uint8_t* p_sdp_raw_data;     /* The data buffer to keep raw data */
  tSDP_DISCOVERY_DB* p_sdp_db; /* The data buffer to keep SDP database */
} bta_jv_cfg = {
    BTA_JV_SDP_RAW_DATA_SIZE, /* The size of p_sdp_raw_data */
    (BTA_JV_SDP_DB_SIZE / sizeof(tSDP_DISCOVERY_DB)) *
        sizeof(tSDP_DISCOVERY_DB), /* The size of p_sdp_db_data */
    bta_jv_sdp_raw_data,           /* The data buffer to keep raw data */
    bta_jv_sdp_db_data             /* The data buffer to keep SDP database */
};

tBTA_JV_CFG* p_bta_jv_cfg = &bta_jv_cfg;

/*******************************************************************************
 *
 * Function     bta_jv_alloc_sec_id
+0 −29
Original line number Diff line number Diff line
@@ -30,32 +30,3 @@

#include "bta/include/bta_jv_api.h"
#include "stack/include/sdp_api.h"

#ifndef BTA_JV_SDP_DB_SIZE
#define BTA_JV_SDP_DB_SIZE 4500
#endif

#ifndef BTA_JV_SDP_RAW_DATA_SIZE
#define BTA_JV_SDP_RAW_DATA_SIZE 1800
#endif

/* The platform may choose to use dynamic memory for these data buffers.
 * p_bta_jv_cfg->p_sdp_db must be allocated/stay allocated
 * between BTA_JvEnable and BTA_JvDisable
 * p_bta_jv_cfg->p_sdp_raw_data can be allocated before calling
 * BTA_JvStartDiscovery
 * it can be de-allocated after the last call to access the database */
static uint8_t bta_jv_sdp_raw_data[BTA_JV_SDP_RAW_DATA_SIZE];
static tSDP_DISCOVERY_DB
    bta_jv_sdp_db_data[BTA_JV_SDP_DB_SIZE / sizeof(tSDP_DISCOVERY_DB)];

/* JV configuration structure */
const tBTA_JV_CFG bta_jv_cfg = {
    BTA_JV_SDP_RAW_DATA_SIZE, /* The size of p_sdp_raw_data */
    (BTA_JV_SDP_DB_SIZE / sizeof(tSDP_DISCOVERY_DB)) *
        sizeof(tSDP_DISCOVERY_DB), /* The size of p_sdp_db_data */
    bta_jv_sdp_raw_data,           /* The data buffer to keep raw data */
    bta_jv_sdp_db_data             /* The data buffer to keep SDP database */
};

const tBTA_JV_CFG* p_bta_jv_cfg = &bta_jv_cfg;
+0 −3
Original line number Diff line number Diff line
@@ -141,9 +141,6 @@ extern tBTA_JV_CB bta_jv_cb;

extern std::unordered_set<uint16_t> used_l2cap_classic_dynamic_psm;

/* config struct */
extern tBTA_JV_CFG* p_bta_jv_cfg;

extern void bta_jv_enable(tBTA_JV_DM_CBACK* p_cback);
extern void bta_jv_disable();
extern void bta_jv_get_channel_id(int32_t type, int32_t channel,