CALL_VC_CA_STATE_WAIT_SPLIT, /**< Waiting for call split state */
CALL_VC_CA_STATE_DROP_CALLBOX, /**< Call drop state */
CALL_VC_CA_STATE_WAIT_DROP, /**< Waiting for drop state */
-#ifdef SWAP_SUPPORT
CALL_VC_CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE, /**< Wait for swapping activce/hold call state */
CALL_VC_CA_STATE_WAIT_SWAP_HOLD, /**< Wait for swapping held call state */
CALL_VC_CA_STATE_WAIT_SWAP_ACTIVE, /**< Wait for swapping active call state */
-#endif
CALL_VC_CA_STATE_WAIT_SWAP, /**< Wait for swap state */
CALL_VC_CA_STATE_WAIT_HOLD, /**< Wait for hold state */
CALL_VC_CA_STATE_WAIT_UNHOLD, /**< Wait for unhold state */
"CA_STATE_WAIT_SPLIT",
"CA_STATE_DROP_CALLBOX",
"CA_STATE_WAIT_DROP",
-#ifdef SWAP_SUPPORT
"CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE",
"CA_STATE_WAIT_SWAP_HOLD",
"CA_STATE_WAIT_SWAP_ACTIVATE",
-#endif /* */
"CA_STATE_WAIT_SWAP",
"CA_STATE_WAIT_HOLD",
"CA_STATE_WAIT_UNHOLD",
}
if (TRUE == _vc_core_tapi_rqst_swap_calls(pagent)) {
-#ifdef SWAP_SUPPORT
+#ifdef VC_WITHOUT_SWAP_CNF
_vc_core_ca_change_agent_state(pagent, CALL_VC_CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE);
-#else
- _vc_core_ca_change_agent_state(pagent, CALL_VC_CA_STATE_WAIT_SWAP);
#endif
return ERROR_VOICECALL_NONE;
}
void _vc_core_engine_swap_call_resp_cb(TapiHandle *handle, int result, void *tapi_data, void *user_data)
{
- CALL_ENG_DEBUG(ENG_DEBUG, "_vc_core_engine_swap_call_resp_cb : %d", result);
+ call_vc_handle call_handle = VC_TAPI_INVALID_CALLHANDLE;
+ call_vc_callagent_state_t *pagent = gpcall_agent_for_callback;
+ TelCallSwapCnf_t callSwapInfo;
+
+ CALL_ENG_DEBUG(ENG_DEBUG, "result:%d, handle:%d", result);
+
+ if (TAPI_CAUSE_SUCCESS == result) {
+ memset(&callSwapInfo, 0, sizeof(TelCallSwapCnf_t));
+ memcpy(&callSwapInfo, tapi_data, sizeof(TelCallSwapCnf_t));
+ call_handle = callSwapInfo.id;
+
+ _vc_core_cm_swap_group_state(&pagent->call_manager);
+ _vc_core_ca_send_event_to_client(pagent, VC_CALL_SS_SWAP, call_handle, 0, NULL);
+ } else {
+ /*Reset the Call Agent State*/
+ _vc_core_ca_change_agent_state(pagent, CALL_VC_CA_STATE_NORMAL);
+ _vc_core_ca_send_event_to_client(pagent, VC_ERROR_OCCURED, ERROR_VOICECALL_SWAP_FAILED, 0, NULL);
+ }
}
void _vc_core_engine_join_call_resp_cb(TapiHandle *handle, int result, void *tapi_data, void *user_data)
}
switch (pcall_agent->callagent_state) {
-#ifdef SWAP_SUPPORT
case CALL_VC_CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE:
{
/* Reset the Agent State */
_vc_core_ca_send_event_to_client(pcall_agent, VC_ERROR_OCCURED, ERROR_VOICECALL_SWAP_FAILED, 0, NULL);
}
break;
-#endif
case CALL_VC_CA_STATE_WAIT_SWAP:
{
/* Reset the Agent State */
}
switch (pcall_agent->callagent_state) {
-#ifdef SWAP_SUPPORT
case CALL_VC_CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE:
{
int held_call_num = 0;
}
}
break;
-#endif
case CALL_VC_CA_STATE_WAIT_SWAP:
{
/*Always reset the agent state as the event for this wait state is arrived */
if (TAPI_CAUSE_SUCCESS != status) {
switch (pcall_agent->callagent_state) {
-#ifdef SWAP_SUPPORT
case CALL_VC_CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE:
{
/*Reset the Agent State*/
_vc_core_ca_send_event_to_client(pcall_agent, VC_ERROR_OCCURED, ERROR_VOICECALL_SWAP_FAILED, 0, NULL);
}
break;
-#endif
case CALL_VC_CA_STATE_WAIT_SWAP:
{
/*Reset the Call Agent State*/
CALL_ENG_DEBUG(ENG_DEBUG, "Call Handle = %d, GP_Index:%d, Cur Gp State: %d", call_handle, index, cur_grp_state);
switch (pcall_agent->callagent_state) {
-#ifdef SWAP_SUPPORT
case CALL_VC_CA_STATE_WAIT_SWAP_HOLD_OR_ACTIVATE:
{
int held_call_num = 0;
}
}
break;
-#endif
case CALL_VC_CA_STATE_WAIT_SWAP:
{
/* Always reset the agent state as the event for the wait state is arrived */
ADD_DEFINITIONS("-DCALL_DEBUG_ON_DLOG")
# for Engine
-ADD_DEFINITIONS("-DSWAP_SUPPORT")
ADD_DEFINITIONS("-DCALL_VC_SEND_SAT_RESPONSE_ORIG")
ADD_DEFINITIONS("-DRELEASE_ALL_AND_ACCEPT_SUPPORT")
+#ADD_DEFINITIONS("-DVC_WITHOUT_SWAP_CNF")
# for SOUND
vcui_app_call_data_t *ad = vd->app_data;
ad->bholdisleft = ad->bswapped;
- _vcui_view_popup_load(_("IDS_CALL_POP_SWAPPED"), POPUP_TIMEOUT_LONG, EINA_FALSE);
vcall_engine_process_hold_call();
}