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

Commit 467ea612 authored by Chris Manton's avatar Chris Manton Committed by Automerger Merge Worker
Browse files

stack::btm::client_interface Move non-lifecycle APIs from group am: 20a6173d am: 5fd678dd

parents d85557a7 5fd678dd
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -3156,8 +3156,8 @@ void bta_av_vendor_offload_start_v2(tBTA_AV_SCB* p_scb,
  log::verbose("");

  uint16_t connection_handle =
      get_btm_client_interface().lifecycle.BTM_GetHCIConnHandle(
          p_scb->PeerAddress(), BT_TRANSPORT_BR_EDR);
      get_btm_client_interface().peer.BTM_GetHCIConnHandle(p_scb->PeerAddress(),
                                                           BT_TRANSPORT_BR_EDR);
  btav_a2dp_scmst_info_t scmst_info =
      p_scb->p_cos->get_scmst_info(p_scb->PeerAddress());
  uint16_t mtu = p_scb->stream_mtu;
@@ -3217,7 +3217,7 @@ void bta_av_vendor_offload_stop() {
      return;
    }
    uint16_t connection_handle =
        get_btm_client_interface().lifecycle.BTM_GetHCIConnHandle(
        get_btm_client_interface().peer.BTM_GetHCIConnHandle(
            p_scb->PeerAddress(), BT_TRANSPORT_BR_EDR);
    uint16_t l2cap_channel_handle = 0;

@@ -3389,8 +3389,8 @@ static void bta_av_offload_codec_builder(tBTA_AV_SCB* p_scb,
  p_a2dp_offload->max_latency = 0;
  p_a2dp_offload->mtu = mtu;
  p_a2dp_offload->acl_hdl =
      get_btm_client_interface().lifecycle.BTM_GetHCIConnHandle(
          p_scb->PeerAddress(), BT_TRANSPORT_BR_EDR);
      get_btm_client_interface().peer.BTM_GetHCIConnHandle(p_scb->PeerAddress(),
                                                           BT_TRANSPORT_BR_EDR);
  btav_a2dp_scmst_info_t scmst_info =
      p_scb->p_cos->get_scmst_info(p_scb->PeerAddress());
  p_a2dp_offload->scms_t_enable[0] = scmst_info.enable_status;
+5 −2
Original line number Diff line number Diff line
@@ -27,8 +27,6 @@ struct btm_client_interface_t btm_client_interface = {
    .lifecycle =
        {
            .BTM_PmRegister = ::BTM_PmRegister,
            .BTM_GetHCIConnHandle = ::BTM_GetHCIConnHandle,
            .BTM_VendorSpecificCommand = ::BTM_VendorSpecificCommand,
            .ACL_RegisterClient = ::ACL_RegisterClient,
            .ACL_UnregisterClient = ::ACL_UnregisterClient,
            .btm_init = ::btm_init,
@@ -55,6 +53,7 @@ struct btm_client_interface_t btm_client_interface = {
            .BTM_RequestPeerSCA = ::BTM_RequestPeerSCA,
            .BTM_GetPeerSCA = ::BTM_GetPeerSCA,
            .BTM_IsPhy2mSupported = ::BTM_IsPhy2mSupported,
            .BTM_GetHCIConnHandle = ::BTM_GetHCIConnHandle,
        },

    .link_policy =
@@ -132,6 +131,10 @@ struct btm_client_interface_t btm_client_interface = {
            .BTM_InqDbNext = ::BTM_InqDbNext,
            .BTM_ClearInqDb = ::BTM_ClearInqDb,
        },
    .vendor =
        {
            .BTM_VendorSpecificCommand = ::BTM_VendorSpecificCommand,
        },
};

struct btm_client_interface_t& get_btm_client_interface() {
+8 −5
Original line number Diff line number Diff line
@@ -35,11 +35,6 @@ struct btm_client_interface_t {
  struct {
    [[nodiscard]] tBTM_STATUS (*BTM_PmRegister)(uint8_t mask, uint8_t* p_pm_id,
                                                tBTM_PM_STATUS_CBACK* p_cback);
    [[nodiscard]] uint16_t (*BTM_GetHCIConnHandle)(const RawAddress& bd_addr,
                                                   tBT_TRANSPORT transport);
    void (*BTM_VendorSpecificCommand)(uint16_t opcode, uint8_t param_len,
                                      uint8_t* p_param_buf,
                                      tBTM_VSC_CMPL_CB* p_cb);
    void (*ACL_RegisterClient)(struct acl_client_callback_s* callbacks);
    void (*ACL_UnregisterClient)(struct acl_client_callback_s* callbacks);
    void (*btm_init)();
@@ -76,6 +71,8 @@ struct btm_client_interface_t {
                                            tBT_TRANSPORT transport);
    [[nodiscard]] bool (*BTM_IsPhy2mSupported)(const RawAddress& remote_bda,
                                               tBT_TRANSPORT transport);
    [[nodiscard]] uint16_t (*BTM_GetHCIConnHandle)(const RawAddress& bd_addr,
                                                   tBT_TRANSPORT transport);
  } peer;

  struct {
@@ -176,6 +173,12 @@ struct btm_client_interface_t {
    [[nodiscard]] tBTM_INQ_INFO* (*BTM_InqDbNext)(tBTM_INQ_INFO* p_cur);
    [[nodiscard]] tBTM_STATUS (*BTM_ClearInqDb)(const RawAddress* p_bda);
  } db;

  struct {
    void (*BTM_VendorSpecificCommand)(uint16_t opcode, uint8_t param_len,
                                      uint8_t* p_param_buf,
                                      tBTM_VSC_CMPL_CB* p_cb);
  } vendor;
};

struct btm_client_interface_t& get_btm_client_interface();
+10 −7
Original line number Diff line number Diff line
@@ -37,13 +37,6 @@ struct btm_client_interface_t default_btm_client_interface = {
                             tBTM_PM_STATUS_CBACK* /* p_cb */) -> tBTM_STATUS {
          return BTM_SUCCESS;
        },
        .BTM_GetHCIConnHandle = [](const RawAddress& /* remote_bda */,
                                   tBT_TRANSPORT /* transport */) -> uint16_t {
          return 0;
        },
        .BTM_VendorSpecificCommand =
            [](uint16_t /* opcode */, uint8_t /* param_len */,
               uint8_t* /* p_param_buf */, tBTM_VSC_CMPL_CB* /* p_cb */) {},
        .ACL_RegisterClient =
            [](struct acl_client_callback_s* /* callbacks */) {},
        .ACL_UnregisterClient =
@@ -81,6 +74,10 @@ struct btm_client_interface_t default_btm_client_interface = {
            [](const RawAddress& /* addr */, uint8_t* /* lmp_version */,
               uint16_t* /* manufacturer */,
               uint16_t* /* lmp_sub_version */) -> bool { return false; },
        .BTM_GetHCIConnHandle = [](const RawAddress& /* remote_bda */,
                                   tBT_TRANSPORT /* transport */) -> uint16_t {
          return 0;
        },
    },
    .link_policy = {
        .BTM_GetRole = [](const RawAddress& /* remote_bd_addr */,
@@ -291,6 +288,12 @@ struct btm_client_interface_t default_btm_client_interface = {
          return BTM_SUCCESS;
        },
    },
    .vendor =
        {
            .BTM_VendorSpecificCommand =
                [](uint16_t /* opcode */, uint8_t /* param_len */,
                   uint8_t* /* p_param_buf */, tBTM_VSC_CMPL_CB* /* p_cb */) {},
        },
};

}  // namespace