diff -r 3406c99bc375 -r 07b41fa8d1dd stif/stif_plat/inc/StifItemParser.h --- a/stif/stif_plat/inc/StifItemParser.h Thu Jul 15 20:25:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,290 +0,0 @@ -/* -* Copyright (c) 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: This file contains the header file of the -* CStifItemParser. -* -*/ - -#ifndef STIF_ITEM_PARSER_H -#define STIF_ITEM_PARSER_H - -// INCLUDES -#include -#include -#include - -// CONSTANTS -const TInt KMaxTag = 256; // A tag maximum length - -// MACROS -// None - -// DATA TYPES -// None - -// FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -// None - -// CLASS DECLARATION - -// DESCRIPTION -// CStifItemParser is a STIF Test Framework StifParser class. -// Class contains a configuration file parsing operations. - -class CStifItemParser - :public CBase - { - public: // Enumerations - - // Parsing type can be given when parsing string(GetString and - // GetNextString). This enumeration indicates parsing type. - // ENormalParsing: - // - Indicates normal parsing without any modifications to - // parsed information - // EQuoteStyleParsing: - // - Indicates special parsing. This style of parsing gives to - // quote(" ") characters special meaning. - // - Information between quotes is handled as a one string. Quotes - // not included to information. - enum TParsingType - { - ENormalParsing, // Mode on(Default) - EQuoteStyleParsing, // Mode off - }; - - private: // Enumerations - - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - IMPORT_C static CStifItemParser* NewL( TPtrC aSection, - TInt aStartPos, - TInt aLength ); - - /** - * Destructor. - */ - ~CStifItemParser(); - - public: // New functions - - /** - * Get a string with a tag. - * Returns an error code and a reference to the parsed string. - *If start tag is empty the first string will be parsed and returned. - */ - IMPORT_C TInt GetString( const TDesC& aTag, TPtrC& aString ); - - /** - * Get next string. - * Returns an error code and a reference to the parsed string. - * GetString or GetInt or GetChar must be called before call - * GetNextString method. - */ - IMPORT_C TInt GetNextString( TPtrC& aString ); - - /** - * Get next string with a tag. - * Returns an error code and a reference to the parsed string. - * If start tag is empty the next string will be parsed and returned. - * GetString or GetInt or GetChar must be called before call - * GetNextString method. - */ - IMPORT_C TInt GetNextString( const TDesC& aTag, TPtrC& aString ); - - /** - * Get a integer(TInt) with a tag. - * Returns an error code and a reference to the parsed integer. - * If start tag is empty the first integer will be parsed and returned. - */ - IMPORT_C TInt GetInt( const TDesC& aTag, TInt& aInteger ); - - /** - * Get next integer(TInt). - * Returns an error code and a reference to the parsed integer. - * GetString or GetInt or GetChar must be called before call - * GetNextInt method. - */ - IMPORT_C TInt GetNextInt( TInt& aInteger ); - - /** - * Get next integer(TInt) with a tag. - * Returns an error code and a reference to the parsed integer. - * If start tag is empty the next integer will be parsed and returned. - * GetString or GetInt or GetChar must be called before call - * GetNextInt method. - */ - IMPORT_C TInt GetNextInt( const TDesC& aTag, TInt& aInteger ); - - /** - * Get a integer(TUint) with a tag. - * Returns an error code and a reference to the parsed integer. - * If start tag is empty the first integer will be parsed and returned. - * With TRadix parameter can convert a number into different - * presentation(EBinary, EOctal, EDecimal and EHex). - */ - IMPORT_C TInt GetInt( const TDesC& aTag, - TUint& aInteger, - TRadix aRadix = EDecimal ); - - /** - * Get next integer(TUint). - * Returns an error code and a reference to the parsed integer. - * GetString or GetInt or GetChar must be called before call - * GetNextInt method. - * With TRadix parameter can convert a number into different - * presentation(EBinary, EOctal, EDecimal and EHex). - */ - IMPORT_C TInt GetNextInt( TUint& aInteger, - TRadix aRadix = EDecimal ); - - /** - * Get next integer(TUint) with a tag. - * Returns an error code and a reference to the parsed integer. - * If start tag is empty the next integer will be parsed and returned. - * GetString or GetInt or GetChar must be called before call - * GetNextInt method. - * With TRadix parameter can convert a number into different - * presentation(EBinary, EOctal, EDecimal and EHex). - */ - IMPORT_C TInt GetNextInt( const TDesC& aTag, - TUint& aInteger, - TRadix aRadix = EDecimal ); - - /** - * Get a character with a tag. - * Returns an error code and a reference to the parsed character. - * If start tag is empty the first character will be parsed and - * returned. - */ - IMPORT_C TInt GetChar( const TDesC& aTag, TChar& aCharacter ); - - /** - * Get next character. - * Returns an error code and a reference to the parsed character. - * GetString or GetInt or GetChar must be called before call - * GetNextChar method. - */ - IMPORT_C TInt GetNextChar( TChar& aCharacter ); - - /** - * Get next character with a tag. - * Returns an error code and a reference to the parsed character. - * If start tag is empty the next character will be parsed and returned. - * GetString or GetInt or GetChar must be called before call - * GetNextChar method. - */ - IMPORT_C TInt GetNextChar( const TDesC& aTag, TChar& aCharacter ); - - - /** - * Get remaining strings. - * Returns an error code and a reference to the remainder of the - * parsed line. - * Note: This method does not support the quote(TParsingType) feature, - * only GetString and GetNextString methods include support. - */ - IMPORT_C TInt Remainder( TPtrC& aString ); - - /** - * Parsing type can be given when parsing string(GetString and - * GetNextString). See TParsingType enumeration for more - * inforamtion. - */ - IMPORT_C TInt SetParsingType( CStifItemParser::TParsingType aType ); - - /** - * Get current parsing type. Please see TParsingType enumeration for - * more inforamtion. - */ - IMPORT_C CStifItemParser::TParsingType ParsingType(); - - public: // Functions from base classes - - protected: // New functions - - protected: // Functions from base classes - - private: - - /** - * C++ default constructor. - */ - CStifItemParser( TPtrC aSection, - TInt aStartPos, - TInt aLength ); - - /** - * By default Symbian OS constructor is private. - */ - void ConstructL(); - - /** - * Generig start and end position parser for given data. - * Returns an error code. - */ - TInt ParseStartAndEndPos( TPtrC aSection, - const TDesC& aStartTag, - TInt& aStartPos, - TInt& aEndPos, - TInt& aLength, - TInt& aExtraEndPos ); - - public: // Data - - protected: // Data - - private: // Data - - /** - * Parsed section with GetItemLineL() or GetNextItemLineL() method. - */ - TPtrC iItemLineSection; - - /** - * Indicates position where start the parsing. - */ - TInt iItemSkipAndMarkPos; - - /** - * Indicator is GetString(), GetInt() or GetChar() called. - */ - TBool iGetMethodsIndicator; - - /** - * Parsing type indicator for GetString and GetNextString use. - */ - CStifItemParser::TParsingType iParsingType; - - public: // Friend classes - - /** - * For testing operations to get length information. - */ - friend class CTestParser; - - protected: // Friend classes - - private: // Friend classes - - }; - -#endif // STIF_ITEM_PARSER_H - -// End of File