phoneengine/phonemodel/src/cpephonemodel.cpp
changeset 77 2be0b271d017
parent 56 5bcb308bd24d
child 78 baacf668fe89
equal deleted inserted replaced
72:c76a0b1755b9 77:2be0b271d017
   324         case CPEPhoneModelIF::EPEMessageSwap:
   324         case CPEPhoneModelIF::EPEMessageSwap:
   325             return MESSAGE("EPEMessageSwap");
   325             return MESSAGE("EPEMessageSwap");
   326         case CPEPhoneModelIF::EPEMessageSwapConference:
   326         case CPEPhoneModelIF::EPEMessageSwapConference:
   327             return MESSAGE("EPEMessageSwapConference");
   327             return MESSAGE("EPEMessageSwapConference");
   328         case CPEPhoneModelIF::EPEMessageTransfer:
   328         case CPEPhoneModelIF::EPEMessageTransfer:
   329             return MESSAGE("EPEMessageTransfer");
   329             return MESSAGE("EPEMessageTransfer");           
   330         case CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice:
       
   331             return MESSAGE("EPEMessageSwitchToVideoOrVoice");   
       
   332 
   330 
   333         // Contact messages                       11400 - 11599
   331         // Contact messages                       11400 - 11599
   334 
   332 
   335         // Error messages                         11600 - 11799
   333         // Error messages                         11600 - 11799
   336 
   334 
   795         case MPEPhoneModel::EPEMessageAutomaticAnswerOff:
   793         case MPEPhoneModel::EPEMessageAutomaticAnswerOff:
   796             iMessageHandler->HandleAutomaticAnswerOff( );
   794             iMessageHandler->HandleAutomaticAnswerOff( );
   797             break;
   795             break;
   798         case CPEPhoneModelIF::EPEMessageSetALSLine:
   796         case CPEPhoneModelIF::EPEMessageSetALSLine:
   799             iCallHandling->SetActiveLine();
   797             iCallHandling->SetActiveLine();
   800             break;     
   798             break;
   801         case CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice:
       
   802             iEngineInfo->SetIsSwitchToOperationOngoing( ETrue );
       
   803             errorCode = iMessageHandler->HandleSwitchToVideoOrVoice( iEngineInfo->CallId() );
       
   804             break; 
       
   805         case MPEPhoneModel::EPEMessageSatCallRequestCompleted: 
   799         case MPEPhoneModel::EPEMessageSatCallRequestCompleted: 
   806             iMessageHandler->HandleSatCallRequestCompleted();
   800             iMessageHandler->HandleSatCallRequestCompleted();
   807             break;
   801             break;
   808         case MPEPhoneModel::EPEMessageReplaceActive:
   802         case MPEPhoneModel::EPEMessageReplaceActive:
   809             errorCode = iMessageHandler->HandleReplaceActive();
   803             errorCode = iMessageHandler->HandleReplaceActive();
  1004         if( message == MEngineMonitor::EPEMessageDisconnectingWithInband )
   998         if( message == MEngineMonitor::EPEMessageDisconnectingWithInband )
  1005             {
   999             {
  1006             message = MEngineMonitor::EPEMessageDisconnecting;
  1000             message = MEngineMonitor::EPEMessageDisconnecting;
  1007             }
  1001             }
  1008         else if ( message == MEngineMonitor::EPEMessageConnectingWithInband )
  1002         else if ( message == MEngineMonitor::EPEMessageConnectingWithInband )
  1009             {
  1003             {            
  1010             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1011             message = MEngineMonitor::EPEMessageConnecting;
  1004             message = MEngineMonitor::EPEMessageConnecting;
  1012             }
  1005             }
  1013         #ifdef TEF_LOGGING_ENABLED
  1006         #ifdef TEF_LOGGING_ENABLED
  1014         TPtrC messageName2 = NameByMessageFromPhoneEngine
  1007         TPtrC messageName2 = NameByMessageFromPhoneEngine
  1015             ( static_cast<MEngineMonitor::TPEMessagesFromPhoneEngine>( message ) );
  1008             ( static_cast<MEngineMonitor::TPEMessagesFromPhoneEngine>( message ) );
  1045         case MEngineMonitor::EPEMessageDialing:
  1038         case MEngineMonitor::EPEMessageDialing:
  1046             TRAP( errorCode, iMessageHandler->HandleDialingStateL( aCallId ) );
  1039             TRAP( errorCode, iMessageHandler->HandleDialingStateL( aCallId ) );
  1047             break;
  1040             break;
  1048 
  1041 
  1049         case MEngineMonitor::EPEMessageIncoming:
  1042         case MEngineMonitor::EPEMessageIncoming:
  1050             TRAP( errorCode, iMessageHandler->HandleIncomingCallL( aCallId ) );
  1043             TRAP( errorCode, iMessageHandler->HandleIncomingCallL( aCallId ) );            
  1051             // Since it is possible that incoming call interrupts switch to operation
       
  1052             // we need to reset this value.
       
  1053             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1054             break;
  1044             break;
  1055 
  1045 
  1056         case MEngineMonitor::EPEMessageAnswering:
  1046         case MEngineMonitor::EPEMessageAnswering:
  1057             if ( CallIdCheck::IsVideo( aCallId )  )
  1047             if ( CallIdCheck::IsVideo( aCallId )  )
  1058                 {
  1048                 {
  1066                 iMessageHandler->HandleAudioRouting( EFalse, aCallId);
  1056                 iMessageHandler->HandleAudioRouting( EFalse, aCallId);
  1067                 }
  1057                 }
  1068                 
  1058                 
  1069             break;
  1059             break;
  1070 
  1060 
  1071         case MEngineMonitor::EPEMessageConnected:
  1061         case MEngineMonitor::EPEMessageConnected:            
  1072             // Switch to status needs to be set false here because some networks
       
  1073             // do not use connecting state.
       
  1074             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1075             iEngineInfo->SetResumeHeldCall( ETrue, aCallId );
  1062             iEngineInfo->SetResumeHeldCall( ETrue, aCallId );
  1076             if ( CallIdCheck::IsVoice( aCallId ))
  1063             if ( CallIdCheck::IsVoice( aCallId ))
  1077                 {
  1064                 {
  1078                 errorCode = iMessageHandler->HandleConnectedState( aCallId );
  1065                 errorCode = iMessageHandler->HandleConnectedState( aCallId );
  1079                 }
  1066                 }
  1101             else if ( CallIdCheck::IsVideo( aCallId )) 
  1088             else if ( CallIdCheck::IsVideo( aCallId )) 
  1102                 {
  1089                 {
  1103                 // Video call : for video call logging and duration
  1090                 // Video call : for video call logging and duration
  1104                 errorCode = iMessageHandler->HandleVideoCallIdle( aCallId );
  1091                 errorCode = iMessageHandler->HandleVideoCallIdle( aCallId );
  1105                 }
  1092                 }
  1106             if ( errorCode == ECCPErrorNone && iEngineInfo->IsSwitchToOperationOngoing() )
  1093                         
  1107                 {
       
  1108                 errorCode = iMessageHandler->ContinueSwitchToCall( aCallId );
       
  1109                 }
       
  1110             
       
  1111             iEngineInfo->SetOutgoingCallBarringActivated( EFalse );
  1094             iEngineInfo->SetOutgoingCallBarringActivated( EFalse );
  1112             break;
  1095             break;
  1113 
  1096 
  1114         case MEngineMonitor::EPEMessageRemoteBusy:
  1097         case MEngineMonitor::EPEMessageRemoteBusy:
  1115             if ( CallIdCheck::IsVoice( aCallId ))
  1098             if ( CallIdCheck::IsVoice( aCallId ))
  1116                 {                
  1099                 {
  1117                 // Set video/voice boolean to false because error occured.
       
  1118                 iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1119                 iMessageHandler->HandleCallHandlingError( aCallId, ETrue );                
  1100                 iMessageHandler->HandleCallHandlingError( aCallId, ETrue );                
  1120                 }
  1101                 }
  1121             break;
  1102             break;
  1122 
  1103 
  1123         case MEngineMonitor::EPEMessageCallHandlingError:
  1104         case MEngineMonitor::EPEMessageCallHandlingError:            
  1124             // Set video/voice boolean to false because error occured.
       
  1125             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1126             iMessageHandler->HandleCallHandlingError( aCallId, EFalse );            
  1105             iMessageHandler->HandleCallHandlingError( aCallId, EFalse );            
  1127             break;
  1106             break;
  1128                 
  1107                 
  1129         case MEngineMonitor::EPEMessageAudioOutputPreferenceChanged:
  1108         case MEngineMonitor::EPEMessageAudioOutputPreferenceChanged:
  1130             errorCode = iMessageHandler->HandleRoutePreferenceChanged();
  1109             errorCode = iMessageHandler->HandleRoutePreferenceChanged();
  1170             errorCode = iMessageHandler->HandleDialCall( EFalse );
  1149             errorCode = iMessageHandler->HandleDialCall( EFalse );
  1171             iMessageHandler->HandleATDialingStarted( errorCode ? EFalse : ETrue );
  1150             iMessageHandler->HandleATDialingStarted( errorCode ? EFalse : ETrue );
  1172             break;
  1151             break;
  1173 
  1152 
  1174         // MO call connecting.
  1153         // MO call connecting.
  1175         case MEngineMonitor::EPEMessageConnecting:
  1154         case MEngineMonitor::EPEMessageConnecting:            
  1176             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1177             iEngineInfo->SetInbandTone( ECCPRemoteAlerting );
  1155             iEngineInfo->SetInbandTone( ECCPRemoteAlerting );
  1178             iAudioData->PlayInbandTone();
  1156             iAudioData->PlayInbandTone();
  1179             break;   
  1157             break;   
  1180         /*        
  1158         /*        
  1181         case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
  1159         case MEngineMonitor::EPEMessageInitiatedEmergencyCall:            
  1182             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
       
  1183             if ( iCallStackCutter )
  1160             if ( iCallStackCutter )
  1184                 {
  1161                 {
  1185                 delete iCallStackCutter;
  1162                 delete iCallStackCutter;
  1186                 iCallStackCutter = NULL;
  1163                 iCallStackCutter = NULL;
  1187                 }
  1164                 }
  1232     TBool sendingDelayed( EFalse );
  1209     TBool sendingDelayed( EFalse );
  1233         
  1210         
  1234     switch ( aMessage )
  1211     switch ( aMessage )
  1235         {
  1212         {
  1236         case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
  1213         case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
  1237             {
  1214             {              
  1238             iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );  
       
  1239             sendingDelayed = ETrue;            
  1215             sendingDelayed = ETrue;            
  1240             }
  1216             }
  1241             break;
  1217             break;
  1242         case MEngineMonitor::EPEMessageColpNumberAvailable:
  1218         case MEngineMonitor::EPEMessageColpNumberAvailable:
  1243             {              
  1219             {