os/ossrv/genericservices/httputils/UriParser/TUriParserInternal.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // File contains local functions for use by the Uri parser classes defined in
    15 // Uri8.h and Uri16.h
    16 // 
    17 //
    18 
    19 /**
    20  @file TUriParserInternal.h
    21  @see Uri8.h, Uri16.h
    22 */
    23 
    24 #ifndef __TURIPARSERINTERNAL_H__
    25 #define __TURIPARSERINTERNAL_H__
    26 
    27 // System includes
    28 //
    29 #include <e32base.h>
    30 
    31 /** 
    32 	enum TDelimiterSearchFlag
    33 	Enum defining a set of flags used for search delimiter searching.
    34 	@internalComponent
    35 	@released
    36 	@since 6.0	
    37 
    38  */
    39 enum TDelimiterSearchFlag
    40 	{
    41 	/* Specifier for colon delimiter */
    42 	EColonDelimiterFlag		=	0x001,
    43 	/* Specifier for slash delimiter */
    44 	ESlashDelimiterFlag		=	0x002,
    45 	/* Specifier for query delimiter */
    46 	EQueryDelimiterFlag		=	0x004,
    47 	/* Specifier for hash delimiter */
    48 	EHashDelimiterFlag		=	0x008,
    49 	/* Specifier for semi-colon delimiter */
    50 	ESemiColonDelimiterFlag	=	0x010,
    51 	/* Specifier for query delimiter search */
    52 	EQueryDelimiterSearch	=	EHashDelimiterFlag,
    53 	/* Specifier for path delimiter seacrh */
    54 	EPathDelimiterSearch	=	EQueryDelimiterSearch | EQueryDelimiterFlag,
    55 	/* Specifier for authority delimiter search */
    56 	EAuthDelimiterSearch	=	EPathDelimiterSearch | ESlashDelimiterFlag,
    57 	/* Specifier for scheme delimiter seacrh */
    58 	ESchemeDelimiterSearch	=	EAuthDelimiterSearch | EColonDelimiterFlag
    59 	};
    60 
    61 template<class TPtrCType>
    62 void DoParseUri(const TPtrCType& aUri, TPtrCType aComponent[]);
    63 
    64 template<class TPtrCType>
    65 TInt ParseScheme(const TPtrCType& aUri, TPtrCType& aScheme);
    66 
    67 template<class TPtrCType>
    68 TInt ParseAuthority(const TPtrCType& aUri, TPtrCType& aUserinfo, TPtrCType& aHost, TPtrCType& aPort, TBool aUseNetworkDelimiter);
    69 
    70 
    71 template<class TPtrCType>
    72 TInt ParsePath(const TPtrCType& aUri, TPtrCType& aPath);
    73 
    74 template<class TPtrCType>
    75 TInt ParseQuery(const TPtrCType& aUri, TPtrCType& aQuery);
    76 
    77 
    78 template<class TPtrCType>
    79 TInt ParseFragment(const TPtrCType& aUri, TPtrCType& aFragment);
    80 
    81 template<class TPtrCType>
    82 TInt FindFirstUriDelimiter(const TPtrCType& aString, TDelimiterSearchFlag aSearchFlag);
    83 
    84 #endif	// __TURIPARSERINTERNAL_H__