diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyutils/dial/src/DIALUTIL.CPP --- a/telephonyutils/dial/src/DIALUTIL.CPP Mon May 03 13:37:20 2010 +0300 +++ b/telephonyutils/dial/src/DIALUTIL.CPP Thu May 06 15:10:38 2010 +0100 @@ -1,433 +1,433 @@ -// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file - @internalComponent - @deprecated 9.1 -*/ - -#include "DIALUTIL.H" - -/** -@deprecated 9.1 -*/ -TInt TDialNumber::String (const TDes& aPhoneNumber, TInt aPos) const - { - while (aPhoneNumber[aPos] == KCharSpace && aPos < aPhoneNumber.Length()-1) // already on a space then move to a non-space - { - aPos++; - } - - if (aPos > aPhoneNumber.Length()) - { - return (KErrNotFound); - } - - while (aPhoneNumber[aPos] != KCharSpace && aPos < aPhoneNumber.Length()-1) - { - aPos++; - } - - if (aPos >= aPhoneNumber.Length()-1) - { - return (KErrNotFound); - } - - return (aPos); - } - -/** -@deprecated 9.1 -*/ -void TDialNumber::SpaceParser(const TDes& aPhoneNumber) - { - TInt i = aPhoneNumber.Locate(KCharPlus) ; - TInt j = aPhoneNumber.Locate(KCharSpace) ; - if (j!=-1) // there space(s) - j = String ( aPhoneNumber , 0) ; - else - j = -1 ; - - if ( i==-1 || j==-1 ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else if (j>i) - { - if ( j-2*i-2 >= KMaxNatCode ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else - iNatCode = aPhoneNumber.Mid(i+1,j-i-1); - } - i=j; - j = String ( aPhoneNumber , i) ; - - if ( i==-1 || j==-1 ) - iAreaCode = _L(""); - else if (j>i) - { - if ( j-2*i-2 >= KMaxAreaCode ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else - { - iAreaCode = aPhoneNumber.Mid(i+1,j-i-1); - DialUtil::RemoveSpace (iAreaCode) ; - } - } - - if (!iNatCode.Length() && - !iAreaCode.Length() ) - iPhoneNumber = aPhoneNumber ; - else if ( !iAreaCode.Length() ) // no area code supplied take the remain from NatCode onward as telephone number - iPhoneNumber = aPhoneNumber.Mid(i+1,aPhoneNumber.Length()-i-1); - else - { - iPhoneNumber = aPhoneNumber.Mid(j+1,aPhoneNumber.Length()-j-1); - } - DialUtil::RemoveSpace (iPhoneNumber) ; - } - -/** -@deprecated 9.1 -*/ -void TDialNumber::BracketParser(const TDes& aPhoneNumber) - { - TInt i = aPhoneNumber.Locate(KCharPlus) ; - TInt j = aPhoneNumber.Locate(KCharSpace) ; - if ( j == KErrNotFound ) // no space found in the string - j = aPhoneNumber.Locate(KCharOpenBracket) ; // It must has a ( - else - j = Min (aPhoneNumber.Locate(TChar(KCharSpace)),aPhoneNumber.Locate(TChar(KCharOpenBracket)) ) ; - - if ( i==-1 || j==-1 || j<=i ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else - { - if ( j-2*i-2 >= KMaxNatCode ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else - iNatCode = aPhoneNumber.Mid(i+1,j-i-1); - } - - i = aPhoneNumber.Locate(KCharOpenBracket) ; - j = aPhoneNumber.Locate(KCharCloseBracket) ; - - if ( i==-1 || j==-1 || j<=i ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else - { - if ( j-2*i-2 >= KMaxAreaCode ) - { - iNatCode = _L("") ; - iAreaCode = _L(""); - iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward - return ; - } - else - iAreaCode = aPhoneNumber.Mid(i+1,j-i-1); - } - if (!iNatCode.Length() && - !iAreaCode.Length() ) - iPhoneNumber = aPhoneNumber ; - else - iPhoneNumber = aPhoneNumber.Mid(j+1,aPhoneNumber.Length()-j-1); - - } - -/** -@deprecated 9.1 -*/ -TDialNumber::TDialNumber (const TDes& aPhoneNumber, - const TDialLocation& aDialLocation , - const TChargeCard & aChargeCard ) - { - - if (aPhoneNumber.Locate(KCharPlus) == KErrNotFound) - { - } - else - { - TInt iOpen =aPhoneNumber.Locate(KCharOpenBracket); - TInt iClose=aPhoneNumber.Locate(KCharCloseBracket); - - - if ( iOpen==KErrNotFound || - iClose==KErrNotFound ) - { - SpaceParser (aPhoneNumber) ; - } - else // found both brackets - { - if (iOpen>iClose || iClose-iOpen==1 ) // close bracket before open bracket or nothing in the brackets - SpaceParser (aPhoneNumber) ; - else - { - iClose=aPhoneNumber.Locate(KCharSpace); - - if ( iClose==KErrNotFound) // no spaces found in string - BracketParser(aPhoneNumber); - else - { - if ( iClose>iOpen) // first space found after open bracket so bracket parser - BracketParser (aPhoneNumber) ; - else // spaces found before the ( - { - while ( iClose < aPhoneNumber.Length()-1 && - aPhoneNumber[iClose]==KCharSpace) - iClose++; // move on until a non-space char found - - if (aPhoneNumber[iClose]==KCharOpenBracket) // is a bracket ? - BracketParser(aPhoneNumber); // the bracket parser - else - SpaceParser (aPhoneNumber) ; - } - } - - } - } - } - iIntlPrefCode = aDialLocation.IntlPrefCode () ; - iNatPrefCode = aDialLocation.NatPrefCode () ; - - if (!iNatCode.Length()) // if national code is not supplied - { - iNatCode = aDialLocation.NatCode () ; // set it to the current location - if (!iAreaCode.Length()) - iAreaCode = aDialLocation.AreaCode () ; - } -// else // supplied in the string -// ; // leave the area code alone and assume user has to supplied this - - CallType(aDialLocation) ; - if (aChargeCard.ValidateChargeCardInfo()) - RuleToUse(aChargeCard) ; - - } - -/** -@deprecated 9.1 -*/ -TPtrC TDialNumber::IntlPrefCode () const - { - return TPtrC(iIntlPrefCode); - } - -/** -@deprecated 9.1 -*/ -TPtrC TDialNumber::NatPrefCode ()const - { - return TPtrC(iNatPrefCode); - } - -/** -@deprecated 9.1 -*/ -TPtrC TDialNumber::NatCode()const - { - return TPtrC(iNatCode); - } - -/** -@deprecated 9.1 -*/ -TPtrC TDialNumber::AreaCode()const - { - return TPtrC(iAreaCode); - } - -/** -@deprecated 9.1 -*/ -TPtrC TDialNumber::PhoneNumber()const - { - return TPtrC(iPhoneNumber); - } - -/** -@deprecated 9.1 -*/ -TPtrC TDialNumber::RuleToUse()const - { - return TPtrC(iRuleToUse); - } - -/** -@deprecated 9.1 -*/ -TCallType TDialNumber::CallType()const - { - return iCallType; - } - -/** -@deprecated 9.1 -*/ -void TDialNumber::RuleToUse ( const TChargeCard & aChargeCard) - { - switch (iCallType) - { - case ELocalCall: - iRuleToUse = aChargeCard.LocalRule() ; - break; - case ELongDistanceCall: - iRuleToUse = aChargeCard.NatRule(); - break; - case EInternationalCall: - iRuleToUse = aChargeCard.IntlRule() ; - break; - } - } - -/** -@deprecated 9.1 -*/ -void TDialNumber::CallType ( const TDialLocation & aDialLocation ) - { - iCallType = ELocalCall ; - if ( aDialLocation.AreaCode() != iAreaCode) - { - iCallType = ELongDistanceCall ; - } - if ( aDialLocation.NatCode() != iNatCode) - { - iCallType = EInternationalCall ; - } - - } - -/** -@deprecated 9.1 -*/ -TBool TDialNumber::IsNatCode() const { return iNatCode.Length(); } -/** -@deprecated 9.1 -*/ -TBool TDialNumber::IsAreaCode() const { return iAreaCode.Length();} -/** -@deprecated 9.1 -*/ -TBool TDialNumber::IsRuleToUse() const{ return iRuleToUse.Length();} - - -// -// DialUtil -// - -/** -@deprecated 9.1 -*/ -TBool DialUtil::AppendDialString(TDes& aDialStr, TPtrC aAppendStr ) - { - if ( (aDialStr.Length()+aAppendStr.Length()) < aDialStr.MaxLength() ) - { - aDialStr.Append (aAppendStr); - return ETrue ; - } - else - return EFalse ; - } - -/** -@deprecated 9.1 -*/ -TBool DialUtil::AppendDialString(TDes& aDialStr, TChar aChar ) - { - if ( (aDialStr.Length()+1) < aDialStr.MaxLength() ) - { - aDialStr.Append (aChar); - return ETrue ; - } - else - return EFalse ; - } - - -/** -@deprecated 9.1 -*/ -void DialUtil::RemoveSpace (TDes& aDialString) - { - TInt pos = aDialString.Locate(KCharSpace); - - while ( pos != -1 ) - { - aDialString.Replace (pos,1,_L("")) ; - pos = aDialString.Locate(KCharSpace); - } - } - -#if 0 -TBool DialUtil::PhoneFormatOK( TDes& aPhoneNumber) - { - return !( - (aPhoneNumber.Locate(KCharOpenBracket)!=KErrNotFound && aPhoneNumber.Locate(KCharCloseBracket)==KErrNotFound) - || (aPhoneNumber.Locate(KCharOpenBracket)==KErrNotFound && aPhoneNumber.Locate(KCharCloseBracket)!=KErrNotFound) - ) ; - } -#endif - -/** -@deprecated 9.1 -*/ -void DialUtil::RemoveUndiallableChars (TDes& aDialString) - { - TInt pos = 0; - while ( pos < aDialString.Length() ) - { - if ( aDialString[pos] == KCharStar || - aDialString[pos] == KCharHash || - aDialString[pos] == KCharComma || - ( aDialString[pos] >= '0' && aDialString[pos] <='9') ) - - ; - else - { - aDialString.Replace (pos,1,_L("")) ; - pos--; - } - pos++ ; - } - - } +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file + @internalComponent + @deprecated 9.1 +*/ + +#include "DIALUTIL.H" + +/** +@deprecated 9.1 +*/ +TInt TDialNumber::String (const TDes& aPhoneNumber, TInt aPos) const + { + while (aPhoneNumber[aPos] == KCharSpace && aPos < aPhoneNumber.Length()-1) // already on a space then move to a non-space + { + aPos++; + } + + if (aPos > aPhoneNumber.Length()) + { + return (KErrNotFound); + } + + while (aPhoneNumber[aPos] != KCharSpace && aPos < aPhoneNumber.Length()-1) + { + aPos++; + } + + if (aPos >= aPhoneNumber.Length()-1) + { + return (KErrNotFound); + } + + return (aPos); + } + +/** +@deprecated 9.1 +*/ +void TDialNumber::SpaceParser(const TDes& aPhoneNumber) + { + TInt i = aPhoneNumber.Locate(KCharPlus) ; + TInt j = aPhoneNumber.Locate(KCharSpace) ; + if (j!=-1) // there space(s) + j = String ( aPhoneNumber , 0) ; + else + j = -1 ; + + if ( i==-1 || j==-1 ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else if (j>i) + { + if ( j-2*i-2 >= KMaxNatCode ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else + iNatCode = aPhoneNumber.Mid(i+1,j-i-1); + } + i=j; + j = String ( aPhoneNumber , i) ; + + if ( i==-1 || j==-1 ) + iAreaCode = _L(""); + else if (j>i) + { + if ( j-2*i-2 >= KMaxAreaCode ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else + { + iAreaCode = aPhoneNumber.Mid(i+1,j-i-1); + DialUtil::RemoveSpace (iAreaCode) ; + } + } + + if (!iNatCode.Length() && + !iAreaCode.Length() ) + iPhoneNumber = aPhoneNumber ; + else if ( !iAreaCode.Length() ) // no area code supplied take the remain from NatCode onward as telephone number + iPhoneNumber = aPhoneNumber.Mid(i+1,aPhoneNumber.Length()-i-1); + else + { + iPhoneNumber = aPhoneNumber.Mid(j+1,aPhoneNumber.Length()-j-1); + } + DialUtil::RemoveSpace (iPhoneNumber) ; + } + +/** +@deprecated 9.1 +*/ +void TDialNumber::BracketParser(const TDes& aPhoneNumber) + { + TInt i = aPhoneNumber.Locate(KCharPlus) ; + TInt j = aPhoneNumber.Locate(KCharSpace) ; + if ( j == KErrNotFound ) // no space found in the string + j = aPhoneNumber.Locate(KCharOpenBracket) ; // It must has a ( + else + j = Min (aPhoneNumber.Locate(TChar(KCharSpace)),aPhoneNumber.Locate(TChar(KCharOpenBracket)) ) ; + + if ( i==-1 || j==-1 || j<=i ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else + { + if ( j-2*i-2 >= KMaxNatCode ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else + iNatCode = aPhoneNumber.Mid(i+1,j-i-1); + } + + i = aPhoneNumber.Locate(KCharOpenBracket) ; + j = aPhoneNumber.Locate(KCharCloseBracket) ; + + if ( i==-1 || j==-1 || j<=i ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else + { + if ( j-2*i-2 >= KMaxAreaCode ) + { + iNatCode = _L("") ; + iAreaCode = _L(""); + iPhoneNumber = aPhoneNumber.Right(aPhoneNumber.Length()-1 ); // from KCharPlus onward + return ; + } + else + iAreaCode = aPhoneNumber.Mid(i+1,j-i-1); + } + if (!iNatCode.Length() && + !iAreaCode.Length() ) + iPhoneNumber = aPhoneNumber ; + else + iPhoneNumber = aPhoneNumber.Mid(j+1,aPhoneNumber.Length()-j-1); + + } + +/** +@deprecated 9.1 +*/ +TDialNumber::TDialNumber (const TDes& aPhoneNumber, + const TDialLocation& aDialLocation , + const TChargeCard & aChargeCard ) + { + + if (aPhoneNumber.Locate(KCharPlus) == KErrNotFound) + { + } + else + { + TInt iOpen =aPhoneNumber.Locate(KCharOpenBracket); + TInt iClose=aPhoneNumber.Locate(KCharCloseBracket); + + + if ( iOpen==KErrNotFound || + iClose==KErrNotFound ) + { + SpaceParser (aPhoneNumber) ; + } + else // found both brackets + { + if (iOpen>iClose || iClose-iOpen==1 ) // close bracket before open bracket or nothing in the brackets + SpaceParser (aPhoneNumber) ; + else + { + iClose=aPhoneNumber.Locate(KCharSpace); + + if ( iClose==KErrNotFound) // no spaces found in string + BracketParser(aPhoneNumber); + else + { + if ( iClose>iOpen) // first space found after open bracket so bracket parser + BracketParser (aPhoneNumber) ; + else // spaces found before the ( + { + while ( iClose < aPhoneNumber.Length()-1 && + aPhoneNumber[iClose]==KCharSpace) + iClose++; // move on until a non-space char found + + if (aPhoneNumber[iClose]==KCharOpenBracket) // is a bracket ? + BracketParser(aPhoneNumber); // the bracket parser + else + SpaceParser (aPhoneNumber) ; + } + } + + } + } + } + iIntlPrefCode = aDialLocation.IntlPrefCode () ; + iNatPrefCode = aDialLocation.NatPrefCode () ; + + if (!iNatCode.Length()) // if national code is not supplied + { + iNatCode = aDialLocation.NatCode () ; // set it to the current location + if (!iAreaCode.Length()) + iAreaCode = aDialLocation.AreaCode () ; + } +// else // supplied in the string +// ; // leave the area code alone and assume user has to supplied this + + CallType(aDialLocation) ; + if (aChargeCard.ValidateChargeCardInfo()) + RuleToUse(aChargeCard) ; + + } + +/** +@deprecated 9.1 +*/ +TPtrC TDialNumber::IntlPrefCode () const + { + return TPtrC(iIntlPrefCode); + } + +/** +@deprecated 9.1 +*/ +TPtrC TDialNumber::NatPrefCode ()const + { + return TPtrC(iNatPrefCode); + } + +/** +@deprecated 9.1 +*/ +TPtrC TDialNumber::NatCode()const + { + return TPtrC(iNatCode); + } + +/** +@deprecated 9.1 +*/ +TPtrC TDialNumber::AreaCode()const + { + return TPtrC(iAreaCode); + } + +/** +@deprecated 9.1 +*/ +TPtrC TDialNumber::PhoneNumber()const + { + return TPtrC(iPhoneNumber); + } + +/** +@deprecated 9.1 +*/ +TPtrC TDialNumber::RuleToUse()const + { + return TPtrC(iRuleToUse); + } + +/** +@deprecated 9.1 +*/ +TCallType TDialNumber::CallType()const + { + return iCallType; + } + +/** +@deprecated 9.1 +*/ +void TDialNumber::RuleToUse ( const TChargeCard & aChargeCard) + { + switch (iCallType) + { + case ELocalCall: + iRuleToUse = aChargeCard.LocalRule() ; + break; + case ELongDistanceCall: + iRuleToUse = aChargeCard.NatRule(); + break; + case EInternationalCall: + iRuleToUse = aChargeCard.IntlRule() ; + break; + } + } + +/** +@deprecated 9.1 +*/ +void TDialNumber::CallType ( const TDialLocation & aDialLocation ) + { + iCallType = ELocalCall ; + if ( aDialLocation.AreaCode() != iAreaCode) + { + iCallType = ELongDistanceCall ; + } + if ( aDialLocation.NatCode() != iNatCode) + { + iCallType = EInternationalCall ; + } + + } + +/** +@deprecated 9.1 +*/ +TBool TDialNumber::IsNatCode() const { return iNatCode.Length(); } +/** +@deprecated 9.1 +*/ +TBool TDialNumber::IsAreaCode() const { return iAreaCode.Length();} +/** +@deprecated 9.1 +*/ +TBool TDialNumber::IsRuleToUse() const{ return iRuleToUse.Length();} + + +// +// DialUtil +// + +/** +@deprecated 9.1 +*/ +TBool DialUtil::AppendDialString(TDes& aDialStr, TPtrC aAppendStr ) + { + if ( (aDialStr.Length()+aAppendStr.Length()) < aDialStr.MaxLength() ) + { + aDialStr.Append (aAppendStr); + return ETrue ; + } + else + return EFalse ; + } + +/** +@deprecated 9.1 +*/ +TBool DialUtil::AppendDialString(TDes& aDialStr, TChar aChar ) + { + if ( (aDialStr.Length()+1) < aDialStr.MaxLength() ) + { + aDialStr.Append (aChar); + return ETrue ; + } + else + return EFalse ; + } + + +/** +@deprecated 9.1 +*/ +void DialUtil::RemoveSpace (TDes& aDialString) + { + TInt pos = aDialString.Locate(KCharSpace); + + while ( pos != -1 ) + { + aDialString.Replace (pos,1,_L("")) ; + pos = aDialString.Locate(KCharSpace); + } + } + +#if 0 +TBool DialUtil::PhoneFormatOK( TDes& aPhoneNumber) + { + return !( + (aPhoneNumber.Locate(KCharOpenBracket)!=KErrNotFound && aPhoneNumber.Locate(KCharCloseBracket)==KErrNotFound) + || (aPhoneNumber.Locate(KCharOpenBracket)==KErrNotFound && aPhoneNumber.Locate(KCharCloseBracket)!=KErrNotFound) + ) ; + } +#endif + +/** +@deprecated 9.1 +*/ +void DialUtil::RemoveUndiallableChars (TDes& aDialString) + { + TInt pos = 0; + while ( pos < aDialString.Length() ) + { + if ( aDialString[pos] == KCharStar || + aDialString[pos] == KCharHash || + aDialString[pos] == KCharComma || + ( aDialString[pos] >= '0' && aDialString[pos] <='9') ) + + ; + else + { + aDialString.Replace (pos,1,_L("")) ; + pos--; + } + pos++ ; + } + + }