// ----------------------------------------------------------------------------- // CUpnpErrorCodeSeekerContentHandler::OnEndElementL // This method is a callback to indicate the end of the element has been reached. // ----------------------------------------------------------------------------- // void CUpnpErrorCodeSeekerContentHandler::OnEndElementL( const RTagInfo& aElement ) { ASSERT( aElement.LocalName().DesC().Compare( iCurrentState ) == 0 ); SetPreviousState(); }
/***************************************************************************** * FUNCTION * ProcessPSCallConnectFailEvent * DESCRIPTION * This is the function to process Protocol(Response) failure Event. * PARAMETERS * cause [IN] * void(?) [IN] *(this points to CM_CALL_HANDLE of the call which requested CM_KB_OUTGOINGCALL) * RETURNS * void *****************************************************************************/ void ProcessPSCallConnectFailEvent(U16 cause) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ CM_CALL_HANDLE callHandle; U8 type; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ SetCallEndCause(cause); if (GetCCFlag() == TRUE) { callHandle = GetOutgoingCallHandle(); if (callHandle == -1) { PRINT_INFORMATION("\n ProcessPSCallConnectFailEvent Getting the Connected Handle has -1 \n"); return; } switch (GetCurrentState()) { /* amanda add 0326, MO MT collision */ case CM_INCOMING_STATE: PurgeOutgoingCallsStructure(); cause = 0; break; case CM_OUTGOING_STATE: type = GetOutgoingCallType(); PurgeOutgoingCallsStructure(); if (GetTotalCallCount() == 0) { SetCurrentState(CM_IDLE_STATE); } else { SetCurrentState(GetPreviousState()); } SetPreviousState(CM_OUTGOING_STATE); if (GetTotalCallCount() == 0) { /* only voice call can redial */ #ifdef __MMI_VIDEO_TELEPHONY__ if ((type != CM_VOICE_CALL && type != CSMCC_VIDEO_CALL) || (IsRedialNeeded(cause) == FALSE)) #else /* __MMI_VIDEO_TELEPHONY__ */ if ((type != CM_VOICE_CALL) || (IsRedialNeeded(cause) == FALSE)) #endif/* __MMI_VIDEO_TELEPHONY__ */ { /* no need to redial, just show error and get out of CM */ /*ShowCallManagementErrorMessage(cause, cm_p->ucm_operation);*/ SetCallEndCause(cause); mmi_gsm_release_ind(GetCallEndCause()); return; } else { /* need to redial, show error and redial */ if (IsRedialSet()) { SetCallEndedBeforeConnFlag(FALSE); CheckRedialOrShowError(cause); /* abort SS if needed */ return; } } } /* still have other call, can't redial, just show error */ break; default: PRINT_INFORMATION("\n ProcessPSCallConnectFailEvent CM State m/c Corrupted \n"); break; } } if(cm_p->ucm_operation == MMI_GSM_UCM_DIAL) { /*SS_PARSING_RSP FAIL*/ ShowCallManagementErrorMessage(cause, cm_p->ucm_operation); } else if(cm_p->ucm_operation == MMI_GSM_UCM_HOLD_AND_DIAL) { /*SS_PARSING_RSP FAIL*/ ShowCallManagementErrorMessage(cause, cm_p->ucm_operation); } #ifdef __MMI_DUAL_SIM_MASTER__ else if(cm_p->slave_ss_session) { MTPNP_PFAL_CC_UCMShowCallErrorMessage(cause,MMI_GSM_UCM_IDLE); mmi_gsm_set_slave_ss_falg(FALSE); } #endif /* __MMI_DUAL_SIM_MASTER__ */ else { mmi_gsm_release_ind(GetCallEndCause()); } return; }
/***************************************************************************** * FUNCTION * ProcessPSCallConnectFailEvent * DESCRIPTION * This is the function to process Protocol(Response) failure Event. * PARAMETERS * cause [IN] * void(?) [IN] *(this points to CM_CALL_HANDLE of the call which requested CM_KB_OUTGOINGCALL) * RETURNS * void *****************************************************************************/ void ProcessPSCallConnectFailEvent(U16 cause) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ CM_CALL_HANDLE callHandle; U8 type; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ if (GetCCFlag() == TRUE) { callHandle = GetOutgoingCallHandle(); if (callHandle == -1) { PRINT_INFORMATION("\n ProcessPSCallConnectFailEvent Getting the Connected Handle has -1 \n"); return; } switch (GetCurrentState()) { /* amanda add 0326, MO MT collision */ case CM_INCOMING_STATE: PurgeOutgoingCallsStructure(); cause = 0; break; case CM_OUTGOING_STATE: type = GetOutgoingCallType(); PurgeOutgoingCallsStructure(); SetCurrentState(GetPreviousState()); SetPreviousState(CM_OUTGOING_STATE); if (GetTotalCallCount() == 0) { /* only voice call can redial */ if ((type != CM_VOICE_CALL) || (IsRedialNeeded(cause) == FALSE)) { /* no need to redial, just show error and get out of CM */ ShowCallManagementErrorMessage(cause); GetOutOfCMforAdjustHistory(); return; } else { /* need to redial, show error and redial */ if (IsRedialSet()) { SetCallEndedBeforeConnFlag(FALSE); CheckRedialOrShowError(cause); /* abort SS if needed */ DeleteScreenIfPresent(ITEM_SCR_USSN_MSG); return; } } } /* still have other call, can't redial, just show error */ break; default: PRINT_INFORMATION("\n ProcessPSCallConnectFailEvent CM State m/c Corrupted \n"); break; } } ShowCallManagementErrorMessage(cause); }