phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp
changeset 22 6bb1b21d2484
parent 21 92ab7f8d0eab
child 30 ebdbd102c78a
equal deleted inserted replaced
21:92ab7f8d0eab 22:6bb1b21d2484
    90     
    90     
    91     TPECallType processType = iDataStore.CallTypeCommand();
    91     TPECallType processType = iDataStore.CallTypeCommand();
    92     if( processType != EPECallTypeVideo )
    92     if( processType != EPECallTypeVideo )
    93         {
    93         {
    94         // TSY not accept phone number that include + or w chartes.
    94         // TSY not accept phone number that include + or w chartes.
    95         TPEPhoneNumber postfix = FilterPostfix( aDtmfPostfix );
    95         TPEPhoneNumber postfix = FilterPostfixL( aDtmfPostfix );
    96         if( postfix.Length() )
    96         if( postfix.Length() )
    97             {
    97             {
    98             phoneNumber.Append( postfix );
    98             phoneNumber.Append( postfix );
    99             }
    99             }
   100         }
   100         }
   164 
   164 
   165 // -----------------------------------------------------------------------------
   165 // -----------------------------------------------------------------------------
   166 // CPEParserPhoneNumberHandler::FilterPostfix
   166 // CPEParserPhoneNumberHandler::FilterPostfix
   167 // -----------------------------------------------------------------------------
   167 // -----------------------------------------------------------------------------
   168 // 
   168 // 
   169 TPtrC CPEParserPhoneNumberHandler::FilterPostfix( TPtrC aPostfix )
   169 TPtrC CPEParserPhoneNumberHandler::FilterPostfixL( TPtrC aPostfix )
   170     {
   170     {
   171     TLex input( aPostfix );
   171     TLex input( aPostfix );
   172     TInt stripStart = KErrNotFound;
   172     TInt stripStart = KErrNotFound;
   173     TInt postfixLength = aPostfix.Length();
   173     TInt postfixLength = aPostfix.Length();
   174     for ( TInt i = 0; i != postfixLength; i ++ )
   174     for ( TInt i = 0; i != postfixLength; i ++ )
   175         {
   175         {
   176         TChar ch( input.Peek() );
   176         TChar ch( input.Peek() );
   177         if ( ch == KDtmfWait ||
   177         if (ch == KDtmfPlus)
   178              ch == KDtmfPlus )
   178             {
       
   179             User::Leave ( ECCPErrorInvalidPhoneNumber );
       
   180             }
       
   181         else if ( ch == KDtmfWait )
   179             {
   182             {
   180             if ( i < stripStart || stripStart == KErrNotFound )
   183             if ( i < stripStart || stripStart == KErrNotFound )
   181                 {
   184                 {
   182                 stripStart = i;
   185                 stripStart = i;
   183                 }
   186                 }
   215         || ( networkRegStatus == ENWStatusNotRegisteredEmergencyOnly )
   218         || ( networkRegStatus == ENWStatusNotRegisteredEmergencyOnly )
   216         || ( networkRegStatus == ENWStatusRegistrationDenied ) )
   219         || ( networkRegStatus == ENWStatusRegistrationDenied ) )
   217         {
   220         {
   218         isPhoneOffline = ETrue;
   221         isPhoneOffline = ETrue;
   219         }
   222         }
   220     // <-- QT PHONE START -->
       
   221     //TODO
   223     //TODO
   222     isPhoneOffline = EFalse;
   224     isPhoneOffline = EFalse;
   223     return isPhoneOffline; //isPhoneOffline;
   225     return isPhoneOffline;
   224     // <-- QT PHONE END -->
   226     }
   225     }
       
   226 
       
   227     
   227     
   228 //  End of File
   228 //  End of File