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

Commit 6bb8feb4 authored by Chris Manton's avatar Chris Manton
Browse files

Split Api stack/acl/btm_acl::acl_send_data_packet

Provide separate br_edr and ble entry points

Towards proper interfaces

Bug: 163134718
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: I27a05819198f5a5941be60adbe4696d49bef1ffa
parent 1b1bbca4
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2862,10 +2862,24 @@ void acl_disconnect(const RawAddress& bd_addr, tBT_TRANSPORT transport,
  btsnd_hcic_disconnect(p_acl->hci_handle, reason);
}

constexpr uint16_t kDataPacketEventBrEdr = (BT_EVT_TO_LM_HCI_ACL);
constexpr uint16_t kDataPacketEventBle =
    (BT_EVT_TO_LM_HCI_ACL | LOCAL_BLE_CONTROLLER_ID);

void acl_send_data_packet(BT_HDR* p_buf, uint16_t flags) {
  bte_main_hci_send(p_buf, flags);
}

void acl_send_data_packet_br_edr([[maybe_unused]] const RawAddress& bd_addr,
                                 BT_HDR* p_buf) {
  bte_main_hci_send(p_buf, kDataPacketEventBrEdr);
}

void acl_send_data_packet_ble([[maybe_unused]] const RawAddress& bd_addr,
                              BT_HDR* p_buf) {
  bte_main_hci_send(p_buf, kDataPacketEventBle);
}

void acl_write_automatic_flush_timeout(const RawAddress& bd_addr,
                                       uint16_t flush_timeout_in_ticks) {
  tACL_CONN* p_acl = internal_.btm_bda_to_acl(bd_addr, BT_TRANSPORT_BR_EDR);
+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ void acl_create_classic_connection(const RawAddress& bd_addr,
                                   bool is_bonding);
void acl_reject_connection_request(const RawAddress& bd_addr, uint8_t reason);
void acl_send_data_packet(BT_HDR* p_buf, uint16_t flags);
void acl_send_data_packet_br_edr(const RawAddress& bd_addr, BT_HDR* p_buf);
void acl_send_data_packet_ble(const RawAddress& bd_addr, BT_HDR* p_buf);
void acl_write_automatic_flush_timeout(const RawAddress& bd_addr,
                                       uint16_t flush_timeout);