equal
deleted
inserted
replaced
41 #include <mpeloghandling.h> |
41 #include <mpeloghandling.h> |
42 |
42 |
43 // CONSTANTS |
43 // CONSTANTS |
44 const TInt KDriveProfile ( 6 ); |
44 const TInt KDriveProfile ( 6 ); |
45 const TInt KPECallTimerOff = 0; |
45 const TInt KPECallTimerOff = 0; |
46 const TInt KTimesToSplitValue = 16; |
|
47 |
46 |
48 // ==================== LOCAL FUNCTIONS ==================== |
47 // ==================== LOCAL FUNCTIONS ==================== |
49 |
48 |
50 // ================= MEMBER FUNCTIONS ======================= |
49 // ================= MEMBER FUNCTIONS ======================= |
51 |
50 |
95 TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 4" ); |
94 TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 4" ); |
96 iActiveStarter = CPEActiveStarter::NewL( this ); |
95 iActiveStarter = CPEActiveStarter::NewL( this ); |
97 TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 5" ); |
96 TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 5" ); |
98 iActiveStarter->StartUp(); |
97 iActiveStarter->StartUp(); |
99 TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 6" ); |
98 TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 6" ); |
100 // Reserve needed callinfo and remoteinfo from heap. |
|
101 iCallInfo = new ( ELeave ) RMobileCall::TMobileCallInfoV3; |
|
102 }// ConstructL |
99 }// ConstructL |
103 |
100 |
104 // ----------------------------------------------------------------------------- |
101 // ----------------------------------------------------------------------------- |
105 // CPEPhoneModel::NewL |
102 // CPEPhoneModel::NewL |
106 // Two-phased constructor. |
103 // Two-phased constructor. |
146 delete iLogHandling; |
143 delete iLogHandling; |
147 delete iAudioData; |
144 delete iAudioData; |
148 delete iCallHandling; |
145 delete iCallHandling; |
149 delete iExternalDataHandler; |
146 delete iExternalDataHandler; |
150 delete iCallStackCutter; |
147 delete iCallStackCutter; |
151 delete iCallInfo; |
|
152 |
148 |
153 if ( iActiveStarter ) |
149 if ( iActiveStarter ) |
154 { |
150 { |
155 delete iActiveStarter; |
151 delete iActiveStarter; |
156 } |
152 } |
969 TEFLOGSTRING3( |
965 TEFLOGSTRING3( |
970 KTAERROR, |
966 KTAERROR, |
971 "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=%s, CallId=%d", |
967 "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=%s, CallId=%d", |
972 messageName2.Ptr( ), aCallId ); |
968 messageName2.Ptr( ), aCallId ); |
973 #endif |
969 #endif |
974 SetCallError( aCallId ); |
|
975 TPEErrorInfo errorInfo; |
970 TPEErrorInfo errorInfo; |
976 errorInfo.iErrorCode = errorCode; |
971 errorInfo.iErrorCode = errorCode; |
977 errorInfo.iCallId = aCallId; |
972 errorInfo.iCallId = aCallId; |
978 errorInfo.iErrorType = EPECcp; |
973 errorInfo.iErrorType = EPECcp; |
979 iEngineMonitor.HandleError( errorInfo ); |
974 iEngineMonitor.HandleError( errorInfo ); |
982 { |
977 { |
983 TEFLOGSTRING2( |
978 TEFLOGSTRING2( |
984 KTAERROR, |
979 KTAERROR, |
985 "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageCallHandlingError, CallId=%d" |
980 "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageCallHandlingError, CallId=%d" |
986 , aCallId ); |
981 , aCallId ); |
987 SetCallError( aCallId ); |
|
988 TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo(); |
982 TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo(); |
989 errorInfo.iCallId = aCallId; |
983 errorInfo.iCallId = aCallId; |
990 errorInfo.iErrorType = EPECcp; |
984 errorInfo.iErrorType = EPECcp; |
991 |
985 |
992 if ( ECCPErrorCCCallRejected == errorInfo.iErrorCode ) |
986 if ( ECCPErrorCCCallRejected == errorInfo.iErrorCode ) |
1000 else if ( message == MEngineMonitor::EPEMessageServiceHandlingError ) |
994 else if ( message == MEngineMonitor::EPEMessageServiceHandlingError ) |
1001 { |
995 { |
1002 TEFLOGSTRING( |
996 TEFLOGSTRING( |
1003 KTAERROR, |
997 KTAERROR, |
1004 "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageServiceHandlingError" ); |
998 "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageServiceHandlingError" ); |
1005 SetCallError( aCallId ); |
|
1006 TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo(); |
999 TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo(); |
1007 errorInfo.iCallId = aCallId; |
1000 errorInfo.iCallId = aCallId; |
1008 errorInfo.iErrorType = EPECch; |
1001 errorInfo.iErrorType = EPECch; |
1009 iEngineMonitor.HandleError( errorInfo ); |
1002 iEngineMonitor.HandleError( errorInfo ); |
1010 } |
1003 } |
1134 iEngineInfo->SetIsSwitchToOperationOngoing( EFalse ); |
1127 iEngineInfo->SetIsSwitchToOperationOngoing( EFalse ); |
1135 iMessageHandler->HandleCallHandlingError( aCallId, EFalse ); |
1128 iMessageHandler->HandleCallHandlingError( aCallId, EFalse ); |
1136 break; |
1129 break; |
1137 |
1130 |
1138 case MEngineMonitor::EPEMessageAudioOutputPreferenceChanged: |
1131 case MEngineMonitor::EPEMessageAudioOutputPreferenceChanged: |
1139 errorCode = iMessageHandler->HandleRoutePreferenceChanged(); |
1132 //Don't handle route preference mode change if no active calls exist. |
|
1133 if ( iCallHandling->GetNumberOfCalls() ) |
|
1134 { |
|
1135 errorCode = iMessageHandler->HandleRoutePreferenceChanged(); |
|
1136 } |
1140 break; |
1137 break; |
1141 |
1138 |
1142 case MEngineMonitor::EPEMessageConferenceIdle: |
1139 case MEngineMonitor::EPEMessageConferenceIdle: |
1143 if ( CallIdCheck::IsConference( aCallId ) ) |
1140 if ( CallIdCheck::IsConference( aCallId ) ) |
1144 { |
1141 { |
1510 self->iEngineMonitor.HandleMessage( self->iCallBackMessage, self->iCallBackCallId ); |
1507 self->iEngineMonitor.HandleMessage( self->iCallBackMessage, self->iCallBackCallId ); |
1511 |
1508 |
1512 return KErrNone; |
1509 return KErrNone; |
1513 } |
1510 } |
1514 |
1511 |
1515 // ----------------------------------------------------------------------------- |
|
1516 // SetCallError |
|
1517 // ----------------------------------------------------------------------------- |
|
1518 // |
|
1519 void CPEPhoneModel::SetCallError( TInt aCallId ) |
|
1520 { |
|
1521 TInt callError = KErrNone; |
|
1522 if ( iCallHandling ) |
|
1523 { |
|
1524 TInt err = iCallHandling->GetCallInfo( *iCallInfo, aCallId ); |
|
1525 |
|
1526 if ( err == KErrNone && ( iCallInfo->iExitCode & 0xFFFF0000 ) && |
|
1527 aCallId > KErrNotFound ) |
|
1528 { |
|
1529 callError = ( iCallInfo->iExitCode >> KTimesToSplitValue ); |
|
1530 //Set protocol spesific error code to EngineInfo |
|
1531 EngineInfo()->SetProtocolError( callError, aCallId ); |
|
1532 } |
|
1533 } |
|
1534 } |
|
1535 |
|
1536 // End of File |
1512 // End of File |