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

Commit 898389a6 authored by Myles Watson's avatar Myles Watson
Browse files

Remove casts for callbacks

Casting callbacks can hide parameter mismatches from
the compiler, which makes it impossible to check
argument types.

Bug: 72005262
Test: Toggle Bluetooth, connect to a headset
Change-Id: I0c3e0653c77e829655377fbf170d1b03efa5ea32
parent 86bc3759
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -465,10 +465,9 @@ void bta_ag_rfc_open(tBTA_AG_SCB* p_scb, tBTA_AG_DATA* p_data) {
      ((p_scb->features & BTA_AG_FEAT_INBAND) == BTA_AG_FEAT_INBAND);

  /* set up AT command interpreter */
  p_scb->at_cb.p_at_tbl = (tBTA_AG_AT_CMD*)bta_ag_at_tbl[p_scb->conn_service];
  p_scb->at_cb.p_cmd_cback =
      (tBTA_AG_AT_CMD_CBACK*)bta_ag_at_cback_tbl[p_scb->conn_service];
  p_scb->at_cb.p_err_cback = (tBTA_AG_AT_ERR_CBACK*)bta_ag_at_err_cback;
  p_scb->at_cb.p_at_tbl = bta_ag_at_tbl[p_scb->conn_service];
  p_scb->at_cb.p_cmd_cback = bta_ag_at_cback_tbl[p_scb->conn_service];
  p_scb->at_cb.p_err_cback = bta_ag_at_err_cback;
  p_scb->at_cb.p_user = p_scb;
  p_scb->at_cb.cmd_max_len = BTA_AG_CMD_MAX;
  bta_ag_at_init(&p_scb->at_cb);
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ typedef void(tBTA_AG_AT_ERR_CBACK)(tBTA_AG_SCB* p_user, bool unknown,

/* AT command parsing control block */
typedef struct {
  tBTA_AG_AT_CMD* p_at_tbl;          /* AT command table */
  const tBTA_AG_AT_CMD* p_at_tbl;    /* AT command table */
  tBTA_AG_AT_CMD_CBACK* p_cmd_cback; /* command callback */
  tBTA_AG_AT_ERR_CBACK* p_err_cback; /* error callback */
  void* p_user;                      /* user-defined data */
+10 −13
Original line number Diff line number Diff line
@@ -451,15 +451,14 @@ static void bta_dm_sys_hw_cback(tBTA_SYS_HW_EVT status) {
       which forces
       the DM_ENABLE_EVT to be sent only after all the init steps are complete
       */
    BTM_ReadLocalDeviceNameFromController(
        (tBTM_CMPL_CB*)bta_dm_local_name_cback);
    BTM_ReadLocalDeviceNameFromController(bta_dm_local_name_cback);

    bta_sys_rm_register((tBTA_SYS_CONN_CBACK*)bta_dm_rm_cback);
    bta_sys_rm_register(bta_dm_rm_cback);

    /* initialize bluetooth low power manager */
    bta_dm_init_pm();

    bta_sys_policy_register((tBTA_SYS_CONN_CBACK*)bta_dm_policy_cback);
    bta_sys_policy_register(bta_dm_policy_cback);

    bta_dm_gattc_register();

@@ -1132,8 +1131,7 @@ void bta_dm_search_start(tBTA_DM_MSG* p_data) {
    *bta_dm_search_cb.p_srvc_uuid = *p_data->search.p_uuid;
  }
  result.status = BTM_StartInquiry((tBTM_INQ_PARMS*)&p_data->search.inq_params,
                                   bta_dm_inq_results_cb,
                                   (tBTM_CMPL_CB*)bta_dm_inq_cmpl_cb);
                                   bta_dm_inq_results_cb, bta_dm_inq_cmpl_cb);

  APPL_TRACE_EVENT("%s status=%d", __func__, result.status);
  if (result.status != BTM_CMD_STARTED) {
@@ -1355,9 +1353,8 @@ static bool bta_dm_read_remote_device_name(const RawAddress& bd_addr,
  bta_dm_search_cb.peer_bdaddr = bd_addr;
  bta_dm_search_cb.peer_name[0] = 0;

  btm_status =
      BTM_ReadRemoteDeviceName(bta_dm_search_cb.peer_bdaddr,
                               (tBTM_CMPL_CB*)bta_dm_remname_cback, transport);
  btm_status = BTM_ReadRemoteDeviceName(bta_dm_search_cb.peer_bdaddr,
                                        bta_dm_remname_cback, transport);

  if (btm_status == BTM_CMD_STARTED) {
    APPL_TRACE_DEBUG("%s: BTM_ReadRemoteDeviceName is started", __func__);
@@ -2294,9 +2291,9 @@ static void bta_dm_service_search_remname_cback(const RawAddress& bd_addr,
    bta_dm_remname_cback(&rem_name);
  } else {
    /* get name of device */
    btm_status = BTM_ReadRemoteDeviceName(bta_dm_search_cb.peer_bdaddr,
                                          (tBTM_CMPL_CB*)bta_dm_remname_cback,
                                          BT_TRANSPORT_BR_EDR);
    btm_status =
        BTM_ReadRemoteDeviceName(bta_dm_search_cb.peer_bdaddr,
                                 bta_dm_remname_cback, BT_TRANSPORT_BR_EDR);
    if (btm_status == BTM_BUSY) {
      /* wait for next chance(notification of remote name discovery done) */
      APPL_TRACE_DEBUG("%s: BTM_ReadRemoteDeviceName is busy", __func__);
@@ -2873,7 +2870,7 @@ static bool bta_dm_check_av(uint16_t event) {
        /* make master and take away the role switch policy */
        if (BTM_CMD_STARTED == BTM_SwitchRole(p_dev->peer_bdaddr,
                                              HCI_ROLE_MASTER,
                                              (tBTM_CMPL_CB*)bta_dm_rs_cback)) {
                                              bta_dm_rs_cback)) {
          /* the role switch command is actually sent */
          bta_dm_cb.rs_event = event;
          switching = true;
+2 −2
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ void bta_dm_init_pm(void) {

  /* if there are no power manger entries, so not register */
  if (p_bta_dm_pm_cfg[0].app_id != 0) {
    bta_sys_pm_register((tBTA_SYS_CONN_CBACK*)bta_dm_pm_cback);
    bta_sys_pm_register(bta_dm_pm_cback);

    BTM_PmRegister((BTM_PM_REG_SET | BTM_PM_REG_NOTIF), &bta_dm_cb.pm_id,
                   bta_dm_pm_btm_cback);
@@ -115,7 +115,7 @@ void bta_dm_disable_pm(void) {
   * Deregister the PM callback from the system handling to prevent
   * re-enabling the PM timers after this call if the callback is invoked.
   */
  bta_sys_pm_register((tBTA_SYS_CONN_CBACK*)NULL);
  bta_sys_pm_register(NULL);

  /* Need to stop all active timers. */
  for (int i = 0; i < BTA_DM_NUM_PM_TIMER; i++) {
+1 −1
Original line number Diff line number Diff line
@@ -532,7 +532,7 @@ static tBTA_JV_PM_CB* bta_jv_alloc_set_pm_profile_cb(uint32_t jv_handle,
  }
  LOG(WARNING) << __func__ << ": handle=" << loghex(jv_handle)
               << ", app_id=" << app_id << ", return NULL";
  return (tBTA_JV_PM_CB*)NULL;
  return NULL;
}

/*******************************************************************************
Loading