Loading system/bta/jv/bta_jv_act.cc +22 −39 Original line number Diff line number Diff line Loading @@ -1646,28 +1646,21 @@ static tBTA_JV_PCB* bta_jv_add_rfc_port(tBTA_JV_RFC_CB* p_cb, return p_pcb; } /******************************************************************************* * * Function bta_jv_rfcomm_start_server * * Description waits for an RFCOMM client to connect * * * Returns void * ******************************************************************************/ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { /* waits for an RFCOMM client to connect */ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t local_scn, uint8_t max_session, 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_SERVER* rs = &(p_data->rfcomm_server); tBTA_JV_RFCOMM_START evt_data; /* TODO DM role manager L2CA_SetDesireRole(rs->role); L2CA_SetDesireRole(role); */ memset(&evt_data, 0, sizeof(evt_data)); evt_data.status = BTA_JV_FAILURE; Loading @@ -1679,14 +1672,13 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { sec_id = bta_jv_alloc_sec_id(); if (0 == sec_id || !BTM_SetSecurityLevel(false, "JV PORT", sec_id, rs->sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, rs->local_scn)) { !BTM_SetSecurityLevel(false, "JV PORT", sec_id, sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, local_scn)) { APPL_TRACE_ERROR("bta_jv_rfcomm_start_server, run out of sec_id"); break; } if (RFCOMM_CreateConnection(sec_id, rs->local_scn, true, BTA_JV_DEF_RFC_MTU, if (RFCOMM_CreateConnection(sec_id, local_scn, true, BTA_JV_DEF_RFC_MTU, RawAddress::kAny, &handle, bta_jv_port_mgmt_sr_cback) != PORT_SUCCESS) { APPL_TRACE_ERROR( Loading @@ -1701,12 +1693,12 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { break; } p_cb->max_sess = rs->max_session; p_cb->p_cback = rs->p_cback; p_cb->max_sess = max_session; p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = rs->local_scn; p_cb->scn = local_scn; p_pcb->state = BTA_JV_ST_SR_LISTEN; p_pcb->rfcomm_slot_id = rs->rfcomm_slot_id; p_pcb->rfcomm_slot_id = rfcomm_slot_id; evt_data.status = BTA_JV_SUCCESS; evt_data.handle = p_cb->handle; evt_data.sec_id = sec_id; Loading @@ -1724,7 +1716,7 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { tBTA_JV bta_jv; bta_jv.rfc_start = evt_data; rs->p_cback(BTA_JV_RFCOMM_START_EVT, &bta_jv, rs->rfcomm_slot_id); p_cback(BTA_JV_RFCOMM_START_EVT, &bta_jv, rfcomm_slot_id); if (bta_jv.rfc_start.status == BTA_JV_SUCCESS) { PORT_SetDataCOCallback(handle, bta_jv_port_data_co_cback); } else { Loading @@ -1733,27 +1725,18 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { } } /******************************************************************************* * * Function bta_jv_rfcomm_stop_server * * Description stops an RFCOMM server * * Returns void * ******************************************************************************/ void bta_jv_rfcomm_stop_server(tBTA_JV_MSG* p_data) { tBTA_JV_API_RFCOMM_SERVER* ls = &(p_data->rfcomm_server); tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb = NULL; APPL_TRACE_DEBUG("bta_jv_rfcomm_stop_server"); if (!ls->handle) { /* stops an RFCOMM server */ void bta_jv_rfcomm_stop_server(uint32_t handle, uint32_t rfcomm_slot_id) { if (!handle) { APPL_TRACE_ERROR("bta_jv_rfcomm_stop_server, jv handle is null"); return; } if (!find_rfc_pcb(ls->rfcomm_slot_id, &p_cb, &p_pcb)) return; APPL_TRACE_DEBUG("bta_jv_rfcomm_stop_server"); tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb = NULL; if (!find_rfc_pcb(rfcomm_slot_id, &p_cb, &p_pcb)) return; APPL_TRACE_DEBUG("bta_jv_rfcomm_stop_server: p_pcb:%p, p_pcb->port_handle:%d", p_pcb, p_pcb->port_handle); bta_jv_free_rfc_cb(p_cb, p_pcb); Loading system/bta/jv/bta_jv_api.cc +5 −20 Original line number Diff line number Diff line Loading @@ -653,24 +653,16 @@ tBTA_JV_STATUS BTA_JvRfcommStartServer(tBTA_SEC sec_mask, tBTA_JV_ROLE role, if (p_cback == NULL) return BTA_JV_FAILURE; /* Nothing to do */ tBTA_JV_API_RFCOMM_SERVER* p_msg = (tBTA_JV_API_RFCOMM_SERVER*)osi_malloc(sizeof(tBTA_JV_API_RFCOMM_SERVER)); if (max_session == 0) max_session = 1; if (max_session > BTA_JV_MAX_RFC_SR_SESSION) { APPL_TRACE_DEBUG("max_session is too big. use max (%d)", max_session, BTA_JV_MAX_RFC_SR_SESSION); max_session = BTA_JV_MAX_RFC_SR_SESSION; } p_msg->hdr.event = BTA_JV_API_RFCOMM_START_SERVER_EVT; p_msg->sec_mask = sec_mask; p_msg->role = role; p_msg->local_scn = local_scn; p_msg->max_session = max_session; p_msg->p_cback = p_cback; p_msg->rfcomm_slot_id = rfcomm_slot_id; // caller's private data bta_sys_sendmsg(p_msg); do_in_bta_thread(FROM_HERE, Bind(&bta_jv_rfcomm_start_server, sec_mask, role, local_scn, max_session, p_cback, rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading @@ -687,17 +679,10 @@ tBTA_JV_STATUS BTA_JvRfcommStartServer(tBTA_SEC sec_mask, tBTA_JV_ROLE role, ******************************************************************************/ tBTA_JV_STATUS BTA_JvRfcommStopServer(uint32_t handle, uint32_t rfcomm_slot_id) { tBTA_JV_API_RFCOMM_SERVER* p_msg = (tBTA_JV_API_RFCOMM_SERVER*)osi_malloc(sizeof(tBTA_JV_API_RFCOMM_SERVER)); APPL_TRACE_API("%s", __func__); p_msg->hdr.event = BTA_JV_API_RFCOMM_STOP_SERVER_EVT; p_msg->handle = handle; p_msg->rfcomm_slot_id = rfcomm_slot_id; // caller's private data bta_sys_sendmsg(p_msg); do_in_bta_thread(FROM_HERE, Bind(&bta_jv_rfcomm_stop_server, handle, rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading system/bta/jv/bta_jv_int.h +5 −17 Original line number Diff line number Diff line Loading @@ -39,8 +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_START_SERVER_EVT, BTA_JV_API_RFCOMM_STOP_SERVER_EVT, BTA_JV_API_RFCOMM_WRITE_EVT, BTA_JV_API_SET_PM_PROFILE_EVT, BTA_JV_API_PM_STATE_CHANGE_EVT, Loading Loading @@ -139,18 +137,6 @@ typedef struct { uint32_t l2cap_socket_id; } tBTA_JV_API_L2CAP_READ; /* data type for BTA_JV_API_RFCOMM_SERVER_EVT */ typedef struct { BT_HDR hdr; tBTA_SEC sec_mask; tBTA_JV_ROLE role; uint8_t local_scn; uint8_t max_session; uint32_t handle; tBTA_JV_RFCOMM_CBACK* p_cback; uint32_t rfcomm_slot_id; } tBTA_JV_API_RFCOMM_SERVER; /* data type for BTA_JV_API_SET_PM_PROFILE_EVT */ typedef struct { BT_HDR hdr; Loading Loading @@ -186,7 +172,6 @@ typedef union { tBTA_JV_API_RFCOMM_WRITE rfcomm_write; tBTA_JV_API_SET_PM_PROFILE set_pm; tBTA_JV_API_PM_STATE_CHANGE change_pm_state; tBTA_JV_API_RFCOMM_SERVER rfcomm_server; } tBTA_JV_MSG; /* JV control block */ Loading Loading @@ -258,8 +243,11 @@ extern void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_close(uint32_t handle, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_stop_server(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t local_scn, uint8_t max_session, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_stop_server(uint32_t handle, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_read(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_write(tBTA_JV_MSG* p_data); extern void bta_jv_set_pm_profile(tBTA_JV_MSG* p_data); Loading system/bta/jv/bta_jv_main.cc +0 −2 Original line number Diff line number Diff line Loading @@ -42,8 +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_start_server, /* BTA_JV_API_RFCOMM_START_SERVER_EVT */ bta_jv_rfcomm_stop_server, /* BTA_JV_API_RFCOMM_STOP_SERVER_EVT */ 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 */ Loading Loading
system/bta/jv/bta_jv_act.cc +22 −39 Original line number Diff line number Diff line Loading @@ -1646,28 +1646,21 @@ static tBTA_JV_PCB* bta_jv_add_rfc_port(tBTA_JV_RFC_CB* p_cb, return p_pcb; } /******************************************************************************* * * Function bta_jv_rfcomm_start_server * * Description waits for an RFCOMM client to connect * * * Returns void * ******************************************************************************/ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { /* waits for an RFCOMM client to connect */ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t local_scn, uint8_t max_session, 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_SERVER* rs = &(p_data->rfcomm_server); tBTA_JV_RFCOMM_START evt_data; /* TODO DM role manager L2CA_SetDesireRole(rs->role); L2CA_SetDesireRole(role); */ memset(&evt_data, 0, sizeof(evt_data)); evt_data.status = BTA_JV_FAILURE; Loading @@ -1679,14 +1672,13 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { sec_id = bta_jv_alloc_sec_id(); if (0 == sec_id || !BTM_SetSecurityLevel(false, "JV PORT", sec_id, rs->sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, rs->local_scn)) { !BTM_SetSecurityLevel(false, "JV PORT", sec_id, sec_mask, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, local_scn)) { APPL_TRACE_ERROR("bta_jv_rfcomm_start_server, run out of sec_id"); break; } if (RFCOMM_CreateConnection(sec_id, rs->local_scn, true, BTA_JV_DEF_RFC_MTU, if (RFCOMM_CreateConnection(sec_id, local_scn, true, BTA_JV_DEF_RFC_MTU, RawAddress::kAny, &handle, bta_jv_port_mgmt_sr_cback) != PORT_SUCCESS) { APPL_TRACE_ERROR( Loading @@ -1701,12 +1693,12 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { break; } p_cb->max_sess = rs->max_session; p_cb->p_cback = rs->p_cback; p_cb->max_sess = max_session; p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = rs->local_scn; p_cb->scn = local_scn; p_pcb->state = BTA_JV_ST_SR_LISTEN; p_pcb->rfcomm_slot_id = rs->rfcomm_slot_id; p_pcb->rfcomm_slot_id = rfcomm_slot_id; evt_data.status = BTA_JV_SUCCESS; evt_data.handle = p_cb->handle; evt_data.sec_id = sec_id; Loading @@ -1724,7 +1716,7 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { tBTA_JV bta_jv; bta_jv.rfc_start = evt_data; rs->p_cback(BTA_JV_RFCOMM_START_EVT, &bta_jv, rs->rfcomm_slot_id); p_cback(BTA_JV_RFCOMM_START_EVT, &bta_jv, rfcomm_slot_id); if (bta_jv.rfc_start.status == BTA_JV_SUCCESS) { PORT_SetDataCOCallback(handle, bta_jv_port_data_co_cback); } else { Loading @@ -1733,27 +1725,18 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data) { } } /******************************************************************************* * * Function bta_jv_rfcomm_stop_server * * Description stops an RFCOMM server * * Returns void * ******************************************************************************/ void bta_jv_rfcomm_stop_server(tBTA_JV_MSG* p_data) { tBTA_JV_API_RFCOMM_SERVER* ls = &(p_data->rfcomm_server); tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb = NULL; APPL_TRACE_DEBUG("bta_jv_rfcomm_stop_server"); if (!ls->handle) { /* stops an RFCOMM server */ void bta_jv_rfcomm_stop_server(uint32_t handle, uint32_t rfcomm_slot_id) { if (!handle) { APPL_TRACE_ERROR("bta_jv_rfcomm_stop_server, jv handle is null"); return; } if (!find_rfc_pcb(ls->rfcomm_slot_id, &p_cb, &p_pcb)) return; APPL_TRACE_DEBUG("bta_jv_rfcomm_stop_server"); tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb = NULL; if (!find_rfc_pcb(rfcomm_slot_id, &p_cb, &p_pcb)) return; APPL_TRACE_DEBUG("bta_jv_rfcomm_stop_server: p_pcb:%p, p_pcb->port_handle:%d", p_pcb, p_pcb->port_handle); bta_jv_free_rfc_cb(p_cb, p_pcb); Loading
system/bta/jv/bta_jv_api.cc +5 −20 Original line number Diff line number Diff line Loading @@ -653,24 +653,16 @@ tBTA_JV_STATUS BTA_JvRfcommStartServer(tBTA_SEC sec_mask, tBTA_JV_ROLE role, if (p_cback == NULL) return BTA_JV_FAILURE; /* Nothing to do */ tBTA_JV_API_RFCOMM_SERVER* p_msg = (tBTA_JV_API_RFCOMM_SERVER*)osi_malloc(sizeof(tBTA_JV_API_RFCOMM_SERVER)); if (max_session == 0) max_session = 1; if (max_session > BTA_JV_MAX_RFC_SR_SESSION) { APPL_TRACE_DEBUG("max_session is too big. use max (%d)", max_session, BTA_JV_MAX_RFC_SR_SESSION); max_session = BTA_JV_MAX_RFC_SR_SESSION; } p_msg->hdr.event = BTA_JV_API_RFCOMM_START_SERVER_EVT; p_msg->sec_mask = sec_mask; p_msg->role = role; p_msg->local_scn = local_scn; p_msg->max_session = max_session; p_msg->p_cback = p_cback; p_msg->rfcomm_slot_id = rfcomm_slot_id; // caller's private data bta_sys_sendmsg(p_msg); do_in_bta_thread(FROM_HERE, Bind(&bta_jv_rfcomm_start_server, sec_mask, role, local_scn, max_session, p_cback, rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading @@ -687,17 +679,10 @@ tBTA_JV_STATUS BTA_JvRfcommStartServer(tBTA_SEC sec_mask, tBTA_JV_ROLE role, ******************************************************************************/ tBTA_JV_STATUS BTA_JvRfcommStopServer(uint32_t handle, uint32_t rfcomm_slot_id) { tBTA_JV_API_RFCOMM_SERVER* p_msg = (tBTA_JV_API_RFCOMM_SERVER*)osi_malloc(sizeof(tBTA_JV_API_RFCOMM_SERVER)); APPL_TRACE_API("%s", __func__); p_msg->hdr.event = BTA_JV_API_RFCOMM_STOP_SERVER_EVT; p_msg->handle = handle; p_msg->rfcomm_slot_id = rfcomm_slot_id; // caller's private data bta_sys_sendmsg(p_msg); do_in_bta_thread(FROM_HERE, Bind(&bta_jv_rfcomm_stop_server, handle, rfcomm_slot_id)); return BTA_JV_SUCCESS; } Loading
system/bta/jv/bta_jv_int.h +5 −17 Original line number Diff line number Diff line Loading @@ -39,8 +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_START_SERVER_EVT, BTA_JV_API_RFCOMM_STOP_SERVER_EVT, BTA_JV_API_RFCOMM_WRITE_EVT, BTA_JV_API_SET_PM_PROFILE_EVT, BTA_JV_API_PM_STATE_CHANGE_EVT, Loading Loading @@ -139,18 +137,6 @@ typedef struct { uint32_t l2cap_socket_id; } tBTA_JV_API_L2CAP_READ; /* data type for BTA_JV_API_RFCOMM_SERVER_EVT */ typedef struct { BT_HDR hdr; tBTA_SEC sec_mask; tBTA_JV_ROLE role; uint8_t local_scn; uint8_t max_session; uint32_t handle; tBTA_JV_RFCOMM_CBACK* p_cback; uint32_t rfcomm_slot_id; } tBTA_JV_API_RFCOMM_SERVER; /* data type for BTA_JV_API_SET_PM_PROFILE_EVT */ typedef struct { BT_HDR hdr; Loading Loading @@ -186,7 +172,6 @@ typedef union { tBTA_JV_API_RFCOMM_WRITE rfcomm_write; tBTA_JV_API_SET_PM_PROFILE set_pm; tBTA_JV_API_PM_STATE_CHANGE change_pm_state; tBTA_JV_API_RFCOMM_SERVER rfcomm_server; } tBTA_JV_MSG; /* JV control block */ Loading Loading @@ -258,8 +243,11 @@ extern void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, tBTA_JV_ROLE role, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_close(uint32_t handle, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_start_server(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_stop_server(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, tBTA_JV_ROLE role, uint8_t local_scn, uint8_t max_session, tBTA_JV_RFCOMM_CBACK* p_cback, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_stop_server(uint32_t handle, uint32_t rfcomm_slot_id); extern void bta_jv_rfcomm_read(tBTA_JV_MSG* p_data); extern void bta_jv_rfcomm_write(tBTA_JV_MSG* p_data); extern void bta_jv_set_pm_profile(tBTA_JV_MSG* p_data); Loading
system/bta/jv/bta_jv_main.cc +0 −2 Original line number Diff line number Diff line Loading @@ -42,8 +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_start_server, /* BTA_JV_API_RFCOMM_START_SERVER_EVT */ bta_jv_rfcomm_stop_server, /* BTA_JV_API_RFCOMM_STOP_SERVER_EVT */ 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 */ Loading