Loading system/bta/jv/bta_jv_act.cc +19 −26 Original line number Diff line number Diff line Loading @@ -1341,57 +1341,50 @@ static void bta_jv_port_event_cl_cback(uint32_t code, uint16_t port_handle) { } } /******************************************************************************* * * Function bta_jv_rfcomm_connect * * Description Client initiates an RFCOMM connection * * Returns void * ******************************************************************************/ void bta_jv_rfcomm_connect(tBTA_JV_MSG* p_data) { /* Client initiates an RFCOMM connection */ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t remote_scn, const RawAddress& peer_bd_addr, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id) { uint16_t handle = 0; uint32_t event_mask = BTA_JV_RFC_EV_MASK; tPORT_STATE port_state; uint8_t sec_id = 0; tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb; tBTA_JV_API_RFCOMM_CONNECT* cc = &(p_data->rfcomm_connect); tBTA_JV_RFCOMM_CL_INIT evt_data; /* TODO DM role manager L2CA_SetDesireRole(cc->role); L2CA_SetDesireRole(role); */ sec_id = bta_jv_alloc_sec_id(); uint8_t sec_id = bta_jv_alloc_sec_id(); tBTA_JV_RFCOMM_CL_INIT evt_data; memset(&evt_data, 0, sizeof(evt_data)); evt_data.sec_id = sec_id; evt_data.status = BTA_JV_SUCCESS; if (0 == sec_id || !BTM_SetSecurityLevel(true, "", sec_id, cc->sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, cc->remote_scn)) { !BTM_SetSecurityLevel(true, "", sec_id, sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, remote_scn)) { evt_data.status = BTA_JV_FAILURE; APPL_TRACE_ERROR( "sec_id:%d is zero or BTM_SetSecurityLevel failed, remote_scn:%d", sec_id, cc->remote_scn); sec_id, remote_scn); } if (evt_data.status == BTA_JV_SUCCESS && RFCOMM_CreateConnection(UUID_SERVCLASS_SERIAL_PORT, cc->remote_scn, false, BTA_JV_DEF_RFC_MTU, cc->peer_bd_addr, &handle, RFCOMM_CreateConnection(UUID_SERVCLASS_SERIAL_PORT, remote_scn, false, BTA_JV_DEF_RFC_MTU, peer_bd_addr, &handle, bta_jv_port_mgmt_cl_cback) != PORT_SUCCESS) { APPL_TRACE_ERROR("bta_jv_rfcomm_connect, RFCOMM_CreateConnection failed"); evt_data.status = BTA_JV_FAILURE; } if (evt_data.status == BTA_JV_SUCCESS) { p_cb = bta_jv_alloc_rfc_cb(handle, &p_pcb); tBTA_JV_PCB* p_pcb; tBTA_JV_RFC_CB* p_cb = bta_jv_alloc_rfc_cb(handle, &p_pcb); if (p_cb) { p_cb->p_cback = cc->p_cback; p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = 0; p_pcb->state = BTA_JV_ST_CL_OPENING; p_pcb->rfcomm_slot_id = cc->rfcomm_slot_id; p_pcb->rfcomm_slot_id = rfcomm_slot_id; evt_data.use_co = true; PORT_SetEventCallback(handle, bta_jv_port_event_cl_cback); Loading @@ -1412,7 +1405,7 @@ void bta_jv_rfcomm_connect(tBTA_JV_MSG* p_data) { } tBTA_JV bta_jv; bta_jv.rfc_cl_init = evt_data; cc->p_cback(BTA_JV_RFCOMM_CL_INIT_EVT, &bta_jv, cc->rfcomm_slot_id); p_cback(BTA_JV_RFCOMM_CL_INIT_EVT, &bta_jv, rfcomm_slot_id); if (bta_jv.rfc_cl_init.status == BTA_JV_FAILURE) { if (sec_id) bta_jv_free_sec_id(&sec_id); if (handle) RFCOMM_RemoveConnection(handle); Loading system/bta/jv/bta_jv_api.cc +4 −13 Original line number Diff line number Diff line Loading @@ -597,20 +597,11 @@ tBTA_JV_STATUS BTA_JvRfcommConnect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint32_t rfcomm_slot_id) { APPL_TRACE_API("%s", __func__); if (p_cback == NULL) return BTA_JV_FAILURE; /* Nothing to do */ tBTA_JV_API_RFCOMM_CONNECT* p_msg = (tBTA_JV_API_RFCOMM_CONNECT*)osi_malloc( sizeof(tBTA_JV_API_RFCOMM_CONNECT)); p_msg->hdr.event = BTA_JV_API_RFCOMM_CONNECT_EVT; p_msg->sec_mask = sec_mask; p_msg->role = role; p_msg->remote_scn = remote_scn; p_msg->peer_bd_addr = peer_bd_addr; p_msg->p_cback = p_cback; p_msg->rfcomm_slot_id = rfcomm_slot_id; bta_sys_sendmsg(p_msg); if (!p_cback) return BTA_JV_FAILURE; /* Nothing to do */ do_in_bta_thread(FROM_HERE, Bind(&bta_jv_rfcomm_connect, sec_mask, role, remote_scn, peer_bd_addr, p_cback, rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading system/bta/jv/bta_jv_int.h +5 −14 Original line number Diff line number Diff line Loading @@ -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_RFCOMM_CONNECT_EVT, BTA_JV_API_RFCOMM_CLOSE_EVT, BTA_JV_API_RFCOMM_START_SERVER_EVT, BTA_JV_API_RFCOMM_STOP_SERVER_EVT, Loading Loading @@ -141,17 +140,6 @@ typedef struct { uint32_t l2cap_socket_id; } tBTA_JV_API_L2CAP_READ; /* data type for BTA_JV_API_RFCOMM_CONNECT_EVT */ typedef struct { BT_HDR hdr; tBTA_SEC sec_mask; tBTA_JV_ROLE role; uint8_t remote_scn; RawAddress peer_bd_addr; tBTA_JV_RFCOMM_CBACK* p_cback; uint32_t rfcomm_slot_id; } tBTA_JV_API_RFCOMM_CONNECT; /* data type for BTA_JV_API_RFCOMM_SERVER_EVT */ typedef struct { BT_HDR hdr; Loading Loading @@ -205,7 +193,6 @@ typedef union { BT_HDR hdr; tBTA_JV_API_START_DISCOVERY start_discovery; tBTA_JV_API_L2CAP_READ l2cap_read; tBTA_JV_API_RFCOMM_CONNECT rfcomm_connect; tBTA_JV_API_RFCOMM_WRITE rfcomm_write; tBTA_JV_API_SET_PM_PROFILE set_pm; tBTA_JV_API_PM_STATE_CHANGE change_pm_state; Loading Loading @@ -276,7 +263,11 @@ extern void bta_jv_l2cap_stop_server(uint16_t local_psm, extern void bta_jv_l2cap_write(uint32_t handle, uint32_t req_id, uint8_t* p_data, uint16_t len, uint32_t user_id, tBTA_JV_L2C_CB* p_cb); extern void bta_jv_rfcomm_connect(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t remote_scn, const RawAddress& peer_bd_addr, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_close(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_stop_server(tBTA_JV_MSG* p_data); Loading system/bta/jv/bta_jv_main.cc +0 −1 Original line number Diff line number Diff line Loading @@ -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_rfcomm_connect, /* BTA_JV_API_RFCOMM_CONNECT_EVT */ bta_jv_rfcomm_close, /* BTA_JV_API_RFCOMM_CLOSE_EVT */ bta_jv_rfcomm_start_server, /* BTA_JV_API_RFCOMM_START_SERVER_EVT */ bta_jv_rfcomm_stop_server, /* BTA_JV_API_RFCOMM_STOP_SERVER_EVT */ Loading Loading
system/bta/jv/bta_jv_act.cc +19 −26 Original line number Diff line number Diff line Loading @@ -1341,57 +1341,50 @@ static void bta_jv_port_event_cl_cback(uint32_t code, uint16_t port_handle) { } } /******************************************************************************* * * Function bta_jv_rfcomm_connect * * Description Client initiates an RFCOMM connection * * Returns void * ******************************************************************************/ void bta_jv_rfcomm_connect(tBTA_JV_MSG* p_data) { /* Client initiates an RFCOMM connection */ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t remote_scn, const RawAddress& peer_bd_addr, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id) { uint16_t handle = 0; uint32_t event_mask = BTA_JV_RFC_EV_MASK; tPORT_STATE port_state; uint8_t sec_id = 0; tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb; tBTA_JV_API_RFCOMM_CONNECT* cc = &(p_data->rfcomm_connect); tBTA_JV_RFCOMM_CL_INIT evt_data; /* TODO DM role manager L2CA_SetDesireRole(cc->role); L2CA_SetDesireRole(role); */ sec_id = bta_jv_alloc_sec_id(); uint8_t sec_id = bta_jv_alloc_sec_id(); tBTA_JV_RFCOMM_CL_INIT evt_data; memset(&evt_data, 0, sizeof(evt_data)); evt_data.sec_id = sec_id; evt_data.status = BTA_JV_SUCCESS; if (0 == sec_id || !BTM_SetSecurityLevel(true, "", sec_id, cc->sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, cc->remote_scn)) { !BTM_SetSecurityLevel(true, "", sec_id, sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, remote_scn)) { evt_data.status = BTA_JV_FAILURE; APPL_TRACE_ERROR( "sec_id:%d is zero or BTM_SetSecurityLevel failed, remote_scn:%d", sec_id, cc->remote_scn); sec_id, remote_scn); } if (evt_data.status == BTA_JV_SUCCESS && RFCOMM_CreateConnection(UUID_SERVCLASS_SERIAL_PORT, cc->remote_scn, false, BTA_JV_DEF_RFC_MTU, cc->peer_bd_addr, &handle, RFCOMM_CreateConnection(UUID_SERVCLASS_SERIAL_PORT, remote_scn, false, BTA_JV_DEF_RFC_MTU, peer_bd_addr, &handle, bta_jv_port_mgmt_cl_cback) != PORT_SUCCESS) { APPL_TRACE_ERROR("bta_jv_rfcomm_connect, RFCOMM_CreateConnection failed"); evt_data.status = BTA_JV_FAILURE; } if (evt_data.status == BTA_JV_SUCCESS) { p_cb = bta_jv_alloc_rfc_cb(handle, &p_pcb); tBTA_JV_PCB* p_pcb; tBTA_JV_RFC_CB* p_cb = bta_jv_alloc_rfc_cb(handle, &p_pcb); if (p_cb) { p_cb->p_cback = cc->p_cback; p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = 0; p_pcb->state = BTA_JV_ST_CL_OPENING; p_pcb->rfcomm_slot_id = cc->rfcomm_slot_id; p_pcb->rfcomm_slot_id = rfcomm_slot_id; evt_data.use_co = true; PORT_SetEventCallback(handle, bta_jv_port_event_cl_cback); Loading @@ -1412,7 +1405,7 @@ void bta_jv_rfcomm_connect(tBTA_JV_MSG* p_data) { } tBTA_JV bta_jv; bta_jv.rfc_cl_init = evt_data; cc->p_cback(BTA_JV_RFCOMM_CL_INIT_EVT, &bta_jv, cc->rfcomm_slot_id); p_cback(BTA_JV_RFCOMM_CL_INIT_EVT, &bta_jv, rfcomm_slot_id); if (bta_jv.rfc_cl_init.status == BTA_JV_FAILURE) { if (sec_id) bta_jv_free_sec_id(&sec_id); if (handle) RFCOMM_RemoveConnection(handle); Loading
system/bta/jv/bta_jv_api.cc +4 −13 Original line number Diff line number Diff line Loading @@ -597,20 +597,11 @@ tBTA_JV_STATUS BTA_JvRfcommConnect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint32_t rfcomm_slot_id) { APPL_TRACE_API("%s", __func__); if (p_cback == NULL) return BTA_JV_FAILURE; /* Nothing to do */ tBTA_JV_API_RFCOMM_CONNECT* p_msg = (tBTA_JV_API_RFCOMM_CONNECT*)osi_malloc( sizeof(tBTA_JV_API_RFCOMM_CONNECT)); p_msg->hdr.event = BTA_JV_API_RFCOMM_CONNECT_EVT; p_msg->sec_mask = sec_mask; p_msg->role = role; p_msg->remote_scn = remote_scn; p_msg->peer_bd_addr = peer_bd_addr; p_msg->p_cback = p_cback; p_msg->rfcomm_slot_id = rfcomm_slot_id; bta_sys_sendmsg(p_msg); if (!p_cback) return BTA_JV_FAILURE; /* Nothing to do */ do_in_bta_thread(FROM_HERE, Bind(&bta_jv_rfcomm_connect, sec_mask, role, remote_scn, peer_bd_addr, p_cback, rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading
system/bta/jv/bta_jv_int.h +5 −14 Original line number Diff line number Diff line Loading @@ -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_RFCOMM_CONNECT_EVT, BTA_JV_API_RFCOMM_CLOSE_EVT, BTA_JV_API_RFCOMM_START_SERVER_EVT, BTA_JV_API_RFCOMM_STOP_SERVER_EVT, Loading Loading @@ -141,17 +140,6 @@ typedef struct { uint32_t l2cap_socket_id; } tBTA_JV_API_L2CAP_READ; /* data type for BTA_JV_API_RFCOMM_CONNECT_EVT */ typedef struct { BT_HDR hdr; tBTA_SEC sec_mask; tBTA_JV_ROLE role; uint8_t remote_scn; RawAddress peer_bd_addr; tBTA_JV_RFCOMM_CBACK* p_cback; uint32_t rfcomm_slot_id; } tBTA_JV_API_RFCOMM_CONNECT; /* data type for BTA_JV_API_RFCOMM_SERVER_EVT */ typedef struct { BT_HDR hdr; Loading Loading @@ -205,7 +193,6 @@ typedef union { BT_HDR hdr; tBTA_JV_API_START_DISCOVERY start_discovery; tBTA_JV_API_L2CAP_READ l2cap_read; tBTA_JV_API_RFCOMM_CONNECT rfcomm_connect; tBTA_JV_API_RFCOMM_WRITE rfcomm_write; tBTA_JV_API_SET_PM_PROFILE set_pm; tBTA_JV_API_PM_STATE_CHANGE change_pm_state; Loading Loading @@ -276,7 +263,11 @@ extern void bta_jv_l2cap_stop_server(uint16_t local_psm, extern void bta_jv_l2cap_write(uint32_t handle, uint32_t req_id, uint8_t* p_data, uint16_t len, uint32_t user_id, tBTA_JV_L2C_CB* p_cb); extern void bta_jv_rfcomm_connect(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t remote_scn, const RawAddress& peer_bd_addr, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_close(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_stop_server(tBTA_JV_MSG* p_data); Loading
system/bta/jv/bta_jv_main.cc +0 −1 Original line number Diff line number Diff line Loading @@ -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_rfcomm_connect, /* BTA_JV_API_RFCOMM_CONNECT_EVT */ bta_jv_rfcomm_close, /* BTA_JV_API_RFCOMM_CLOSE_EVT */ bta_jv_rfcomm_start_server, /* BTA_JV_API_RFCOMM_START_SERVER_EVT */ bta_jv_rfcomm_stop_server, /* BTA_JV_API_RFCOMM_STOP_SERVER_EVT */ Loading