diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SIP/Codec/src/TSIPChar.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SIP/Codec/src/TSIPChar.inl Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,237 @@ +/* +* Copyright (c) 2004-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: +* Name : TSIPChar.inl +* Part of : SIP Codec +* Version : SIP/4.0 +* TSIPChar::TSIPChar +* +*/ + + + +inline TSIPChar::TSIPChar () +: TChar() + { + } + +// ----------------------------------------------------------------------------- +// TSIPChar::TSIPChar +// ----------------------------------------------------------------------------- +// +inline TSIPChar::TSIPChar (TUint aChar) +: TChar() + { + SetChar(aChar); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::TSIPChar +// ----------------------------------------------------------------------------- +// +inline TSIPChar::TSIPChar (const TChar& aChar) +: TChar() + { + SetChar(aChar); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsAlpha +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsAlpha () const + { + TSIPChar val = *this; + if (val >= 'a' && val <= 'z') + { + return ETrue; + } + return (val >= 'A' && val <= 'Z'); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsAlphaDigit +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsAlphaDigit () const + { + return (IsAlpha() || IsDigit()); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsReserved +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsReserved () const + { + TSIPChar val = *this; + if (val == ';' || val == '/' || val == '?' || val == ':' || val == '@' || + val == '&' || val == '=' || val == '+' || val == '$' || val == ',') + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsUnreserved +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsUnreserved () const + { + return (IsAlphaDigit() || IsMark()); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsMark +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsMark () const + { + TSIPChar val = *this; + if (val == '-' || val == '_' || val == '.' || val == '!' || val == '~' || + val == '*' || val == '\'' || val == '(' || val == ')') + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsTokenChar +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsTokenChar () const + { + if (IsAlphaDigit()) + { + return ETrue; + } + TSIPChar val = *this; + if (val == '-' || val == '.' || val == '!' || val == '%' || val == '*' || + val == '_' || val == '+' || val == '\'' || val == '~' || val == '`') + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsSeparator +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsSeparator () const + { + TSIPChar val = *this; + if (val == '(' || val == ')' || val == '<' || val == '>' || val == '@' || + val == ',' || val == ';' || val == ':' || val == '\\' || val == '"' || + val == '/' || val == '[' || val == ']' || val == '?' || val == '=' || + val == '{' || val == '}' || val == ' ' || val == '\t') + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsWordChar +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsWordChar () const + { + if (IsAlphaDigit()) + { + return ETrue; + } + TSIPChar val = *this; + if (val == '-' || val == '.' || val == '!' || val == '%' || val == '*' || + val == '_' || val == '+' || val == '\'' || val == '~' || val == '(' || + val == ')' || val == '<' || val == '>' || val == ':' || val == '\\' || + val == '"' || val == '/' || val == '[' || val == ']' || val == '?' || + val == '{' || val == '}' || val == '`') + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsQuotedPairChar +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsQuotedPairChar () const + { + TSIPChar val = *this; + if (val == '\n' || val == '\r') + { + return EFalse; + } + return (val <= 127); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsUTF8NonAsciiStartChar +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsUTF8NonAsciiStartChar () const + { + TSIPChar val = *this; + if(val >= 192 && val <= 253) + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsUTF8ContChar +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsUTF8ContChar () const + { + TSIPChar val = *this; + return (val >= 128 && val <= 191); + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsGdTextChar +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsGdTextChar () const + { + // LWS character combination is not allowed in our implementation + // although part of the BNF. These are stripped of in preparser + // so they will not cause trouble in later phases of decoding. + TSIPChar val = *this; + if (val == 33 || (val >= 35 && val <= 91) || (val >= 93 && val <= 126)) + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TSIPChar::IsCText +// ----------------------------------------------------------------------------- +// +inline TBool TSIPChar::IsCText () const + { + TSIPChar val = *this; + if ((val >= 33 && val <= 39)|| (val >= 42 && val <= 91) || (val >= 93 && val <= 126)) + { + return ETrue; + } + return EFalse; + } +