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

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

stack::rnr Move callback structure to tBTM_CB.rnr am: 6655e3c2 am: ef9eca48

parents 755d99fc ef9eca48
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -143,9 +143,6 @@ typedef struct tBTM_CB {
  *****************************************************/
  tSCO_CB sco_cb;

#define BTM_SEC_MAX_RMT_NAME_CALLBACKS 2
  tBTM_RMT_NAME_CALLBACK* p_rmt_name_callback[BTM_SEC_MAX_RMT_NAME_CALLBACKS];

  uint16_t disc_handle{0};          /* for legacy devices */
  uint8_t disc_reason{0};           /* for legacy devices */

@@ -180,7 +177,6 @@ typedef struct tBTM_CB {
    memset(&cmn_ble_vsc_cb, 0, sizeof(cmn_ble_vsc_cb));
    memset(&btm_inq_vars, 0, sizeof(btm_inq_vars));
    memset(&sco_cb, 0, sizeof(sco_cb));
    memset(p_rmt_name_callback, 0, sizeof(p_rmt_name_callback));

    acl_cb_ = {};
    neighbor = {};
+6 −6
Original line number Diff line number Diff line
@@ -426,8 +426,8 @@ bool BTM_SecAddRmtNameNotifyCallback(tBTM_RMT_NAME_CALLBACK* p_callback) {
  int i;

  for (i = 0; i < BTM_SEC_MAX_RMT_NAME_CALLBACKS; i++) {
    if (btm_cb.p_rmt_name_callback[i] == NULL) {
      btm_cb.p_rmt_name_callback[i] = p_callback;
    if (btm_cb.rnr.p_rmt_name_callback[i] == NULL) {
      btm_cb.rnr.p_rmt_name_callback[i] = p_callback;
      return (true);
    }
  }
@@ -449,8 +449,8 @@ bool BTM_SecDeleteRmtNameNotifyCallback(tBTM_RMT_NAME_CALLBACK* p_callback) {
  int i;

  for (i = 0; i < BTM_SEC_MAX_RMT_NAME_CALLBACKS; i++) {
    if (btm_cb.p_rmt_name_callback[i] == p_callback) {
      btm_cb.p_rmt_name_callback[i] = NULL;
    if (btm_cb.rnr.p_rmt_name_callback[i] == p_callback) {
      btm_cb.rnr.p_rmt_name_callback[i] = NULL;
      return (true);
    }
  }
@@ -2261,8 +2261,8 @@ static void call_registered_rmt_name_callbacks(const RawAddress* p_bd_addr,
  /* Notify all clients waiting for name to be resolved even if not found so
   * clients can continue */
  for (i = 0; i < BTM_SEC_MAX_RMT_NAME_CALLBACKS; i++) {
    if (btm_cb.p_rmt_name_callback[i]) {
      (*btm_cb.p_rmt_name_callback[i])(*p_bd_addr, dev_class, p_bd_name);
    if (btm_cb.rnr.p_rmt_name_callback[i]) {
      (*btm_cb.rnr.p_rmt_name_callback[i])(*p_bd_addr, dev_class, p_bd_name);
    }
  }
}
+3 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include "stack/include/bt_name.h"
#include "stack/include/btm_status.h"
#include "stack/include/hci_error_code.h"
#include "stack/include/security_client_callbacks.h"
#include "types/raw_address.h"

/* Structure returned with remote name  request */
@@ -44,6 +45,8 @@ class RemoteNameRequest {
      false}; /* State of a remote name request by external API */
  tBT_DEVICE_TYPE remname_dev_type{
      BT_DEVICE_TYPE_UNKNOWN}; /* Whether it's LE or BREDR name request */
#define BTM_SEC_MAX_RMT_NAME_CALLBACKS 2
  tBTM_RMT_NAME_CALLBACK* p_rmt_name_callback[BTM_SEC_MAX_RMT_NAME_CALLBACKS]{nullptr, nullptr};
};

}  // namespace rnr