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

Commit 4e03ff88 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Use Bind in BTA_JvL2capStartServerLE

Bug: 68359837
Test: compilation test
Change-Id: I56717075758bc3f0fab5b092bd5fbc60b78a9a83
parent 815c4e84
Loading
Loading
Loading
Loading
+8 −17
Original line number Diff line number Diff line
@@ -2397,28 +2397,19 @@ void bta_jv_l2cap_stop_server_le(tBTA_JV_MSG* p_data) {
  }
}

/*******************************************************************************
 *
 * Function     bta_jv_l2cap_start_server_le
 *
 * Description  starts an LE L2CAP server
 *
 * Returns      void
 *
 ******************************************************************************/
void bta_jv_l2cap_start_server_le(tBTA_JV_MSG* p_data) {
  tBTA_JV_API_L2CAP_SERVER* ss = &(p_data->l2cap_server);
/** starts an LE L2CAP server */
void bta_jv_l2cap_start_server_le(uint16_t local_chan,
                                  tBTA_JV_L2CAP_CBACK* p_cback,
                                  uint32_t l2cap_socket_id) {
  tBTA_JV_L2CAP_START evt_data;
  struct fc_client* t;

  evt_data.handle = GAP_INVALID_HANDLE;
  evt_data.status = BTA_JV_FAILURE;

  t = fcclient_alloc(ss->local_chan, true, NULL);
  struct fc_client* t = fcclient_alloc(local_chan, true, NULL);
  if (!t) goto out;

  t->p_cback = ss->p_cback;
  t->l2cap_socket_id = ss->l2cap_socket_id;
  t->p_cback = p_cback;
  t->l2cap_socket_id = l2cap_socket_id;

  // if we got here, we're registered...
  evt_data.status = BTA_JV_SUCCESS;
@@ -2428,7 +2419,7 @@ void bta_jv_l2cap_start_server_le(tBTA_JV_MSG* p_data) {
out:
  tBTA_JV bta_jv;
  bta_jv.l2c_start = evt_data;
  ss->p_cback(BTA_JV_L2CAP_START_EVT, &bta_jv, ss->l2cap_socket_id);
  p_cback(BTA_JV_L2CAP_START_EVT, &bta_jv, l2cap_socket_id);
}

/* close a fixed channel connection. calls no callbacks. idempotent */
+3 −24
Original line number Diff line number Diff line
@@ -415,31 +415,10 @@ tBTA_JV_STATUS BTA_JvL2capStartServerLE(tBTA_SEC sec_mask, tBTA_JV_ROLE role,
                                        uint32_t l2cap_socket_id) {
  APPL_TRACE_API("%s", __func__);

  if (p_cback == NULL) return BTA_JV_FAILURE; /* Nothing to do */

  tBTA_JV_API_L2CAP_SERVER* p_msg =
      (tBTA_JV_API_L2CAP_SERVER*)osi_malloc(sizeof(tBTA_JV_API_L2CAP_SERVER));
  p_msg->hdr.event = BTA_JV_API_L2CAP_START_SERVER_LE_EVT;
  p_msg->sec_mask = sec_mask;
  p_msg->role = role;
  p_msg->local_chan = local_chan;
  p_msg->rx_mtu = rx_mtu;
  if (cfg != NULL) {
    p_msg->has_cfg = true;
    p_msg->cfg = *cfg;
  } else {
    p_msg->has_cfg = false;
  }
  if (ertm_info != NULL) {
    p_msg->has_ertm_info = true;
    p_msg->ertm_info = *ertm_info;
  } else {
    p_msg->has_ertm_info = false;
  }
  p_msg->p_cback = p_cback;
  p_msg->l2cap_socket_id = l2cap_socket_id;
  if (!p_cback) return BTA_JV_FAILURE; /* Nothing to do */

  bta_sys_sendmsg(p_msg);
  do_in_bta_thread(FROM_HERE, Bind(&bta_jv_l2cap_start_server_le, local_chan,
                                   p_cback, l2cap_socket_id));

  return BTA_JV_SUCCESS;
}
+3 −2
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ enum {
  BTA_JV_API_RFCOMM_WRITE_EVT,
  BTA_JV_API_SET_PM_PROFILE_EVT,
  BTA_JV_API_PM_STATE_CHANGE_EVT,
  BTA_JV_API_L2CAP_START_SERVER_LE_EVT,
  BTA_JV_API_L2CAP_STOP_SERVER_LE_EVT,
  BTA_JV_API_L2CAP_WRITE_FIXED_EVT,
  BTA_JV_MAX_INT_EVT
@@ -337,7 +336,9 @@ extern void bta_jv_l2cap_connect_le(uint16_t remote_chan,
                                    const RawAddress& peer_bd_addr,
                                    tBTA_JV_L2CAP_CBACK* p_cback,
                                    uint32_t l2cap_socket_id);
extern void bta_jv_l2cap_start_server_le(tBTA_JV_MSG* p_data);
extern void bta_jv_l2cap_start_server_le(uint16_t local_chan,
                                         tBTA_JV_L2CAP_CBACK* p_cback,
                                         uint32_t l2cap_socket_id);
extern void bta_jv_l2cap_stop_server_le(tBTA_JV_MSG* p_data);
extern void bta_jv_l2cap_write_fixed(tBTA_JV_MSG* p_data);
extern void bta_jv_l2cap_close_fixed(uint32_t handle);
+0 −1
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ const tBTA_JV_ACTION bta_jv_action[] = {
    bta_jv_rfcomm_write,          /* BTA_JV_API_RFCOMM_WRITE_EVT */
    bta_jv_set_pm_profile,        /* BTA_JV_API_SET_PM_PROFILE_EVT */
    bta_jv_change_pm_state,       /* BTA_JV_API_PM_STATE_CHANGE_EVT */
    bta_jv_l2cap_start_server_le, /* BTA_JV_API_L2CAP_START_SERVER_LE_EVT */
    bta_jv_l2cap_stop_server_le,  /* BTA_JV_API_L2CAP_STOP_SERVER_LE_EVT */
    bta_jv_l2cap_write_fixed,     /* BTA_JV_API_L2CAP_WRITE_FIXED_EVT */
};