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

Commit 25563159 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Use Bind in BTA_JvL2capStopServerLE

Bug: 68359837
Test: compilation test
Change-Id: Ibba26fd62571e97f75502cd65240534ff6078e01
parent ad4a7f42
Loading
Loading
Loading
Loading
+6 −18
Original line number Diff line number Diff line
@@ -2347,32 +2347,20 @@ void bta_jv_l2cap_connect_le(uint16_t remote_chan,
  t->init_called = true;
}

/*******************************************************************************
 *
 * Function     bta_jv_l2cap_stop_server_le
 *
 * Description  stops an LE L2CAP server
 *
 * Returns      void
 *
 ******************************************************************************/
void bta_jv_l2cap_stop_server_le(tBTA_JV_MSG* p_data) {
  tBTA_JV evt;
  tBTA_JV_API_L2CAP_SERVER* ls = &(p_data->l2cap_server);
  tBTA_JV_L2CAP_CBACK* p_cback = NULL;
  struct fc_channel* fcchan;
/* stops an LE L2CAP server */
void bta_jv_l2cap_stop_server_le(uint16_t local_chan) {
  struct fc_client* fcclient;
  uint32_t l2cap_socket_id;

  tBTA_JV evt;
  evt.l2c_close.status = BTA_JV_FAILURE;
  evt.l2c_close.async = false;
  evt.l2c_close.handle = GAP_INVALID_HANDLE;

  fcchan = fcchan_get(ls->local_chan, false);
  struct fc_channel* fcchan = fcchan_get(local_chan, false);
  if (fcchan) {
    while ((fcclient = fcchan->clients)) {
      p_cback = fcclient->p_cback;
      l2cap_socket_id = fcclient->l2cap_socket_id;
      tBTA_JV_L2CAP_CBACK* p_cback = fcclient->p_cback;
      uint32_t l2cap_socket_id = fcclient->l2cap_socket_id;

      evt.l2c_close.handle = fcclient->id;
      evt.l2c_close.status = BTA_JV_SUCCESS;
+1 −8
Original line number Diff line number Diff line
@@ -458,14 +458,7 @@ tBTA_JV_STATUS BTA_JvL2capStopServerLE(uint16_t local_chan,
                                       uint32_t l2cap_socket_id) {
  APPL_TRACE_API("%s", __func__);

  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_STOP_SERVER_LE_EVT;
  p_msg->local_chan = local_chan;
  p_msg->l2cap_socket_id = l2cap_socket_id;

  bta_sys_sendmsg(p_msg);

  do_in_bta_thread(FROM_HERE, Bind(&bta_jv_l2cap_stop_server_le, local_chan));
  return BTA_JV_SUCCESS;
}

+1 −22
Original line number Diff line number Diff line
@@ -48,7 +48,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_STOP_SERVER_LE_EVT,
  BTA_JV_API_L2CAP_WRITE_FIXED_EVT,
  BTA_JV_MAX_INT_EVT
};
@@ -134,25 +133,6 @@ typedef struct {
  int curr_sess;          /* current sessions count*/
} tBTA_JV_RFC_CB;

/* data type for BTA_JV_API_L2CAP_SERVER_EVT */
typedef struct {
  BT_HDR hdr;
  int32_t type; /* One of BTA_JV_CONN_TYPE_ */
  tBTA_SEC sec_mask;
  tBTA_JV_ROLE role;
  union {
    uint16_t local_psm;
    uint16_t local_chan;
  };
  uint16_t rx_mtu;
  int32_t has_cfg;
  tL2CAP_CFG_INFO cfg;
  int32_t has_ertm_info;
  tL2CAP_ERTM_INFO ertm_info;
  tBTA_JV_L2CAP_CBACK* p_cback;
  uint32_t l2cap_socket_id;
} tBTA_JV_API_L2CAP_SERVER;

/* data type for BTA_JV_API_L2CAP_READ_EVT */
typedef struct {
  BT_HDR hdr;
@@ -252,7 +232,6 @@ typedef union {
  tBTA_JV_API_START_DISCOVERY start_discovery;
  tBTA_JV_API_L2CAP_READ l2cap_read;
  tBTA_JV_API_L2CAP_WRITE l2cap_write;
  tBTA_JV_API_L2CAP_SERVER l2cap_server;
  tBTA_JV_API_RFCOMM_CONNECT rfcomm_connect;
  tBTA_JV_API_RFCOMM_WRITE rfcomm_write;
  tBTA_JV_API_SET_PM_PROFILE set_pm;
@@ -339,7 +318,7 @@ extern void bta_jv_l2cap_connect_le(uint16_t remote_chan,
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_stop_server_le(uint16_t local_chan);
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
@@ -51,7 +51,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_stop_server_le,  /* BTA_JV_API_L2CAP_STOP_SERVER_LE_EVT */
    bta_jv_l2cap_write_fixed,     /* BTA_JV_API_L2CAP_WRITE_FIXED_EVT */
};