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

Commit c060d785 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Implement address consolidate callback (1/2)"

parents 13515a7c 21c28c4c
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -656,6 +656,9 @@ remote_bd_addr, bt_bond_state_t state)
    g_PairState = state;
}

static void address_consolidate_cb(RawAddress* main_bd_addr,
                                   RawAddress* secondary_bd_addr) {}

static void acl_state_changed(bt_status_t status, RawAddress* remote_bd_addr,
bt_acl_state_t state,
                              bt_hci_error_code_t hci_reason)
@@ -729,6 +732,7 @@ static bt_callbacks_t bt_callbacks = {
    pin_request_cb,             /* pin_request_cb  */
    ssp_request_cb,             /* ssp_request_cb  */
    bond_state_changed_cb,      /* bond_state_changed_cb */
    address_consolidate_cb,     /* address_consolidate_cb */
    acl_state_changed,          /* acl_state_changed_cb */
    NULL,                       /* thread_evt_cb */
    dut_mode_recv,              /*dut_mode_recv_cb */
+2 −0
Original line number Diff line number Diff line
@@ -218,6 +218,8 @@ void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c,
                                uint8_t address_type);
void invoke_bond_state_changed_cb(bt_status_t status, RawAddress bd_addr,
                                  bt_bond_state_t state, int fail_reason);
void invoke_address_consolidate_cb(RawAddress main_bd_addr,
                                   RawAddress secondary_bd_addr);
void invoke_acl_state_changed_cb(bt_status_t status, RawAddress bd_addr,
                                 bt_acl_state_t state, int transport_link_type,
                                 bt_hci_error_code_t hci_reason);
+11 −0
Original line number Diff line number Diff line
@@ -824,6 +824,17 @@ void invoke_bond_state_changed_cb(bt_status_t status, RawAddress bd_addr,
                                  status, bd_addr, state, fail_reason));
}

void invoke_address_consolidate_cb(RawAddress main_bd_addr,
                                   RawAddress secondary_bd_addr) {
  do_in_jni_thread(
      FROM_HERE, base::BindOnce(
                     [](RawAddress main_bd_addr, RawAddress secondary_bd_addr) {
                       HAL_CBACK(bt_hal_cbacks, address_consolidate_cb,
                                 &main_bd_addr, &secondary_bd_addr);
                     },
                     main_bd_addr, secondary_bd_addr));
}

void invoke_acl_state_changed_cb(bt_status_t status, RawAddress bd_addr,
                                 bt_acl_state_t state, int transport_link_type,
                                 bt_hci_error_code_t hci_reason) {
+3 −0
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@ void ssp_request_callback(RawAddress* remote_bd_addr, bt_bdname_t* bd_name,
                          uint32_t pass_key) {}
void bond_state_changed_callback(bt_status_t status, RawAddress* remote_bd_addr,
                                 bt_bond_state_t state, int fail_reason) {}
void address_consolidate_callback(RawAddress* main_bd_addr,
                                  RawAddress* secondary_bd_addr) {}
void acl_state_changed_callback(bt_status_t status, RawAddress* remote_bd_addr,
                                bt_acl_state_t state, int transport_link_type,
                                bt_hci_error_code_t hci_reason) {}
@@ -89,6 +91,7 @@ bt_callbacks_t callbacks = {
    .pin_request_cb = pin_request_callback,
    .ssp_request_cb = ssp_request_callback,
    .bond_state_changed_cb = bond_state_changed_callback,
    .address_consolidate_cb = address_consolidate_callback,
    .acl_state_changed_cb = acl_state_changed_callback,
    .thread_evt_cb = callback_thread_event,
    .dut_mode_recv_cb = dut_mode_recv_callback,
+9 −0
Original line number Diff line number Diff line
@@ -689,6 +689,7 @@ pub enum BaseCallbacks {
    PinRequest(RawAddress, String, u32, bool),
    SspRequest(RawAddress, String, u32, BtSspVariant, u32),
    BondState(BtStatus, RawAddress, BtBondState, i32),
    AddressConsolidate(RawAddress, RawAddress),
    AclState(BtStatus, RawAddress, BtAclState, BtTransport, BtHciErrorCode),
    // Unimplemented so far:
    // thread_evt_cb
@@ -735,6 +736,13 @@ cb_variant!(BaseCb, bond_state_cb -> BaseCallbacks::BondState,
u32 -> BtStatus, *mut FfiAddress, bindings::bt_bond_state_t -> BtBondState, i32, {
    let _1 = unsafe { *(_1 as *const RawAddress) };
});

cb_variant!(BaseCb, address_consolidate_cb -> BaseCallbacks::AddressConsolidate,
*mut FfiAddress, *mut FfiAddress, {
    let _0 = unsafe { *(_0 as *const RawAddress) };
    let _1 = unsafe { *(_1 as *const RawAddress) };
});

cb_variant!(BaseCb, acl_state_cb -> BaseCallbacks::AclState,
u32 -> BtStatus, *mut FfiAddress, bindings::bt_acl_state_t -> BtAclState, i32 -> BtTransport, bindings::bt_hci_error_code_t -> BtHciErrorCode, {
    let _1 = unsafe { *(_1 as *const RawAddress) };
@@ -797,6 +805,7 @@ impl BluetoothInterface {
            pin_request_cb: Some(pin_request_cb),
            ssp_request_cb: Some(ssp_request_cb),
            bond_state_changed_cb: Some(bond_state_cb),
            address_consolidate_cb: Some(address_consolidate_cb),
            acl_state_changed_cb: Some(acl_state_cb),
            thread_evt_cb: None,
            dut_mode_recv_cb: None,
Loading