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

Commit e0e49f33 authored by Zach Johnson's avatar Zach Johnson
Browse files

remove p_policy_cb, call into bta_dm directly

Bug: 159815595
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: Ic510bf889697d78d1f7e70b8ce6c601eddab347c
parent 4a1fa2c5
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ static uint8_t bta_dm_authentication_complete_cback(const RawAddress& bd_addr,
static void bta_dm_local_name_cback(void* p_name);
static bool bta_dm_check_av(uint16_t event);

static void bta_dm_policy_cback(tBTA_SYS_CONN_STATUS status, uint8_t id,
void BTA_dm_update_policy(tBTA_SYS_CONN_STATUS status, uint8_t id,
                          uint8_t app_id, const RawAddress& peer_addr);

/* Extended Inquiry Response */
@@ -416,8 +416,6 @@ void BTA_dm_on_hw_on() {
  /* initialize bluetooth low power manager */
  bta_dm_init_pm();

  bta_sys_policy_register(bta_dm_policy_cback);

  bta_dm_gattc_register();
}

@@ -838,7 +836,7 @@ void bta_dm_pin_reply(std::unique_ptr<tBTA_DM_API_PIN_REPLY> msg) {
 * Returns          void
 *
 ******************************************************************************/
static void bta_dm_policy_cback(tBTA_SYS_CONN_STATUS status, uint8_t id,
void BTA_dm_update_policy(tBTA_SYS_CONN_STATUS status, uint8_t id,
                          uint8_t app_id, const RawAddress& peer_addr) {
  tBTA_DM_PEER_DEVICE* p_dev = NULL;
  uint16_t policy = app_id;
@@ -848,7 +846,7 @@ static void bta_dm_policy_cback(tBTA_SYS_CONN_STATUS status, uint8_t id,
    p_dev = bta_dm_find_peer_device(peer_addr);
  }

  APPL_TRACE_DEBUG(" bta_dm_policy_cback cmd:%d, policy:0x%x", status, policy);
  APPL_TRACE_DEBUG(" cmd:%d, policy:0x%x", status, policy);
  switch (status) {
    case BTA_SYS_PLCY_SET:
      if (!p_dev) return;
@@ -2575,7 +2573,7 @@ static void handle_role_change(const RawAddress& bd_addr, uint8_t new_role,
    }

    if (need_policy_change) {
      bta_dm_policy_cback(BTA_SYS_PLCY_CLR, 0, HCI_ENABLE_MASTER_SLAVE_SWITCH,
      BTA_dm_update_policy(BTA_SYS_PLCY_CLR, 0, HCI_ENABLE_MASTER_SLAVE_SWITCH,
                           p_dev->peer_bdaddr);
    }
  } else {
@@ -2805,7 +2803,8 @@ static bool bta_dm_check_av(uint16_t event) {
          switching = true;
        }
        /* else either already master or can not switch for some reasons */
        bta_dm_policy_cback(BTA_SYS_PLCY_CLR, 0, HCI_ENABLE_MASTER_SLAVE_SWITCH,
        BTA_dm_update_policy(BTA_SYS_PLCY_CLR, 0,
                             HCI_ENABLE_MASTER_SLAVE_SWITCH,
                             p_dev->peer_bdaddr);
        break;
      }
+7 −28
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@
#include "osi/include/osi.h"
#include "utl.h"

void BTA_dm_update_policy(tBTA_SYS_CONN_STATUS status, uint8_t id,
                          uint8_t app_id, const RawAddress& peer_addr);

/*******************************************************************************
 *
 * Function         bta_sys_rm_register
@@ -45,20 +48,6 @@ void bta_sys_rm_register(tBTA_SYS_CONN_CBACK* p_cback) {
  bta_sys_cb.prm_cb = p_cback;
}

/*******************************************************************************
 *
 * Function         bta_sys_policy_register
 *
 * Description      Called by BTA DM to register link policy change callbacks
 *
 *
 * Returns          void
 *
 ******************************************************************************/
void bta_sys_policy_register(tBTA_SYS_CONN_CBACK* p_cback) {
  bta_sys_cb.p_policy_cb = p_cback;
}

/*******************************************************************************
 *
 * Function         bta_sys_role_chg_register
@@ -370,9 +359,7 @@ void bta_sys_set_policy(uint8_t id, uint8_t policy,
                        const RawAddress& peer_addr) {
  APPL_TRACE_DEBUG("%s: peer %s id:%d policy:0x%x", __func__,
                   peer_addr.ToString().c_str(), id, policy);
  if (bta_sys_cb.p_policy_cb) {
    bta_sys_cb.p_policy_cb(BTA_SYS_PLCY_SET, id, policy, peer_addr);
  }
  BTA_dm_update_policy(BTA_SYS_PLCY_SET, id, policy, peer_addr);
}

/*******************************************************************************
@@ -389,9 +376,7 @@ void bta_sys_clear_policy(uint8_t id, uint8_t policy,
                          const RawAddress& peer_addr) {
  APPL_TRACE_DEBUG("%s: peer %s id:%d policy:0x%x", __func__,
                   peer_addr.ToString().c_str(), id, policy);
  if (bta_sys_cb.p_policy_cb) {
    bta_sys_cb.p_policy_cb(BTA_SYS_PLCY_CLR, id, policy, peer_addr);
  }
  BTA_dm_update_policy(BTA_SYS_PLCY_CLR, id, policy, peer_addr);
}

/*******************************************************************************
@@ -406,10 +391,7 @@ void bta_sys_clear_policy(uint8_t id, uint8_t policy,
 ******************************************************************************/
void bta_sys_set_default_policy(uint8_t id, uint8_t policy) {
  APPL_TRACE_DEBUG("%s: id:%d policy:0x%x", __func__, id, policy);
  if (bta_sys_cb.p_policy_cb) {
    bta_sys_cb.p_policy_cb(BTA_SYS_PLCY_DEF_SET, id, policy,
                           RawAddress::kEmpty);
  }
  BTA_dm_update_policy(BTA_SYS_PLCY_DEF_SET, id, policy, RawAddress::kEmpty);
}

/*******************************************************************************
@@ -424,10 +406,7 @@ void bta_sys_set_default_policy(uint8_t id, uint8_t policy) {
 ******************************************************************************/
void bta_sys_clear_default_policy(uint8_t id, uint8_t policy) {
  APPL_TRACE_DEBUG("%s: id:%d policy:0x%x", __func__, id, policy);
  if (bta_sys_cb.p_policy_cb) {
    bta_sys_cb.p_policy_cb(BTA_SYS_PLCY_DEF_CLR, id, policy,
                           RawAddress::kEmpty);
  }
  BTA_dm_update_policy(BTA_SYS_PLCY_DEF_CLR, id, policy, RawAddress::kEmpty);
}

/*******************************************************************************
+0 −2
Original line number Diff line number Diff line
@@ -60,8 +60,6 @@ typedef struct {
  tBTA_SYS_CONN_CBACK* prm_cb; /* role management callback registered by DM */
  tBTA_SYS_CONN_CBACK*
      ppm_cb; /* low power management callback registered by DM */
  tBTA_SYS_CONN_CBACK*
      p_policy_cb; /* link policy change callback registered by DM */
  tBTA_SYS_CONN_CBACK*
      p_sco_cb; /* SCO connection change callback registered by AV */
  tBTA_SYS_CONN_CBACK* p_role_cb; /* role change callback registered by AV */