sl@0: // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: //
sl@0: 
sl@0: #ifndef __DELIMITEDQUERY16_H__
sl@0: #define __DELIMITEDQUERY16_H__
sl@0: 
sl@0: /**
sl@0: 	@file DelimitedQuery16.h
sl@0: 	Comments :	This file contains the API definition for the classes TDelimitedQueryParser16
sl@0: 				and CDelimitedQuery16.
sl@0: 	@publishedAll
sl@0: 	@released
sl@0:  */
sl@0: 
sl@0: // System includes
sl@0: //
sl@0: #include <e32base.h>
sl@0: #include <delimitedparser16.h>
sl@0: 
sl@0: 
sl@0: /**
sl@0: Dependencies : TDelimitedParserBase16
sl@0: Comments : Derived class from TDelimitedParserBase providing a class for parsing querys
sl@0: delimited by '&' as defined in RFC2396.
sl@0: @publishedAll
sl@0: @released
sl@0: @since 6.0
sl@0: */
sl@0: class TDelimitedQueryParser16 : public TDelimitedParserBase16
sl@0: 	{
sl@0: public:	// Methods
sl@0: 
sl@0: 	IMPORT_C TDelimitedQueryParser16();
sl@0: 
sl@0: 	IMPORT_C void Parse(const TDesC16& aQuery);
sl@0: 
sl@0: 	IMPORT_C void ParseReverse(const TDesC16& aQuery);
sl@0: 	};
sl@0: 
sl@0: /**
sl@0: Dependencies : CDelimitedStringBase16
sl@0: Comments : Provides functionality to create a delimited query where components of the 
sl@0: query delimited by '&' as defined in RFC2396.
sl@0: @publishedAll
sl@0: @released
sl@0: @since 6.0
sl@0: */
sl@0: class CDelimitedQuery16 : public CDelimitedDataBase16
sl@0: 	{
sl@0: public:	// Methods
sl@0: 
sl@0: 	IMPORT_C static CDelimitedQuery16* NewL(const TDesC16& aQuery);
sl@0: 
sl@0: 	IMPORT_C static CDelimitedQuery16* NewLC(const TDesC16& aQuery);
sl@0: 
sl@0: 	IMPORT_C ~CDelimitedQuery16();
sl@0: 
sl@0: 	IMPORT_C void InsertAndEscapeCurrentL(const TDesC16& aSegment);
sl@0: 
sl@0: 	IMPORT_C void PushAndEscapeFrontL(const TDesC16& aSegment);
sl@0: 
sl@0: 	IMPORT_C void PushAndEscapeBackL(const TDesC16& aSegment);
sl@0: 
sl@0: private:	// Methods
sl@0: 
sl@0: 	CDelimitedQuery16();
sl@0: 
sl@0: 	void ConstructL(const TDesC16& aQuery);
sl@0: 
sl@0: 	};
sl@0: 
sl@0: /**
sl@0: typedef 
sl@0: @publishedAll
sl@0: @released
sl@0: */
sl@0: typedef TDelimitedQueryParser16	TDelimitedQueryParser;
sl@0: 
sl@0: /**
sl@0: typedef 
sl@0: @publishedAll
sl@0: @released
sl@0: */
sl@0: typedef CDelimitedQuery16		CDelimitedQuery;
sl@0: 
sl@0: #endif	// __DELIMITEDQUERY16_H__