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

Commit 74be540d authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Use Bind in BTA_JvL2capClose

Bug: 68359837
Test: compilation test
Change-Id: Ia153dab61cb593b4319ffa718c691d5985e529e6
parent 1874d5da
Loading
Loading
Loading
Loading
+6 −15
Original line number Diff line number Diff line
@@ -991,23 +991,14 @@ void bta_jv_l2cap_connect(int32_t type, tBTA_SEC sec_mask, tBTA_JV_ROLE role,
  }
}

/*******************************************************************************
 *
 * Function     bta_jv_l2cap_close
 *
 * Description  Close an L2CAP client connection
 *
 * Returns      void
 *
 ******************************************************************************/
void bta_jv_l2cap_close(tBTA_JV_MSG* p_data) {
/** Close an L2CAP client connection */
void bta_jv_l2cap_close(uint32_t handle, tBTA_JV_L2C_CB* p_cb) {
  tBTA_JV_L2CAP_CLOSE evt_data;
  tBTA_JV_API_L2CAP_CLOSE* cc = &(p_data->l2cap_close);
  tBTA_JV_L2CAP_CBACK* p_cback = cc->p_cb->p_cback;
  uint32_t l2cap_socket_id = cc->p_cb->l2cap_socket_id;
  tBTA_JV_L2CAP_CBACK* p_cback = p_cb->p_cback;
  uint32_t l2cap_socket_id = p_cb->l2cap_socket_id;

  evt_data.handle = cc->handle;
  evt_data.status = bta_jv_free_l2c_cb(cc->p_cb);
  evt_data.handle = handle;
  evt_data.status = bta_jv_free_l2c_cb(p_cb);
  evt_data.async = false;

  if (p_cback) {
+5 −13
Original line number Diff line number Diff line
@@ -324,22 +324,14 @@ tBTA_JV_STATUS BTA_JvL2capConnect(
 *
 ******************************************************************************/
tBTA_JV_STATUS BTA_JvL2capClose(uint32_t handle) {
  tBTA_JV_STATUS status = BTA_JV_FAILURE;

  APPL_TRACE_API("%s", __func__);

  if (handle < BTA_JV_MAX_L2C_CONN && bta_jv_cb.l2c_cb[handle].p_cback) {
    tBTA_JV_API_L2CAP_CLOSE* p_msg =
        (tBTA_JV_API_L2CAP_CLOSE*)osi_malloc(sizeof(tBTA_JV_API_L2CAP_CLOSE));
    p_msg->hdr.event = BTA_JV_API_L2CAP_CLOSE_EVT;
    p_msg->handle = handle;
    p_msg->p_cb = &bta_jv_cb.l2c_cb[handle];

    bta_sys_sendmsg(p_msg);
    status = BTA_JV_SUCCESS;
  }
  if (handle >= BTA_JV_MAX_L2C_CONN || !bta_jv_cb.l2c_cb[handle].p_cback)
    return BTA_JV_FAILURE;

  return status;
  do_in_bta_thread(
      FROM_HERE, Bind(&bta_jv_l2cap_close, handle, &bta_jv_cb.l2c_cb[handle]));
  return BTA_JV_SUCCESS;
}

/*******************************************************************************
+1 −2
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@
enum {
  /* these events are handled by the state machine */
  BTA_JV_API_START_DISCOVERY_EVT = BTA_SYS_EVT_START(BTA_ID_JV),
  BTA_JV_API_L2CAP_CLOSE_EVT,
  BTA_JV_API_L2CAP_START_SERVER_EVT,
  BTA_JV_API_L2CAP_STOP_SERVER_EVT,
  BTA_JV_API_L2CAP_READ_EVT,
@@ -327,7 +326,7 @@ extern void bta_jv_l2cap_connect(int32_t type, tBTA_SEC sec_mask,
                                 std::unique_ptr<tL2CAP_ERTM_INFO> ertm_info,
                                 tBTA_JV_L2CAP_CBACK* p_cback,
                                 uint32_t l2cap_socket_id);
extern void bta_jv_l2cap_close(tBTA_JV_MSG* p_data);
extern void bta_jv_l2cap_close(uint32_t handle, tBTA_JV_L2C_CB* p_cb);
extern void bta_jv_l2cap_start_server(tBTA_JV_MSG* p_data);
extern void bta_jv_l2cap_stop_server(tBTA_JV_MSG* p_data);
extern void bta_jv_l2cap_read(tBTA_JV_MSG* p_data);
+0 −1
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ typedef void (*tBTA_JV_ACTION)(tBTA_JV_MSG* p_data);
/* action function list */
const tBTA_JV_ACTION bta_jv_action[] = {
    bta_jv_start_discovery,       /* BTA_JV_API_START_DISCOVERY_EVT */
    bta_jv_l2cap_close,           /* BTA_JV_API_L2CAP_CLOSE_EVT */
    bta_jv_l2cap_start_server,    /* BTA_JV_API_L2CAP_START_SERVER_EVT */
    bta_jv_l2cap_stop_server,     /* BTA_JV_API_L2CAP_STOP_SERVER_EVT */
    bta_jv_l2cap_read,            /* BTA_JV_API_L2CAP_READ_EVT */