diff -r 3406c99bc375 -r 07b41fa8d1dd stif/stif_plat/inc/StifParser.h --- a/stif/stif_plat/inc/StifParser.h Thu Jul 15 20:25:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,246 +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 -* CStifParser. -* -*/ - -#ifndef STIF_PARSER_H -#define STIF_PARSER_H - -// INCLUDES -#include -#include -#include -#include "StifSectionParser.h" -#include "StifItemParser.h" - -// CONSTANTS -// None - -// MACROS -// None - -// DATA TYPES -// None - -// FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -class CStifSectionParser; -class CStifFileParser; - -// CLASS DECLARATION - -// DESCRIPTION -// CStifParser is a STIF Test Framework StifParser class. -// Class contains a configuration file parsing operations. - -class CStifParser - :public CBase - { - public: // Enumerations - - // Indication which type of comments are in use - enum TCommentType - { - ENoComments, // No comments type given, parse all - ECStyleComments, // C-style comments( // and /*...*/ ) are - // removed - }; - - private: // Enumerations - - // Indication which mode of parsing are in use - enum TParsingMode - { - EFileParsing, // Indication for file parsing. - EBufferParsing, // Indication for buffer parsing. - }; - - public: // Constructors and destructor - - /** - * Two-phased constructor. - * Creating parser with path and file information. For default all - * information will be parsed(ENoComments). - */ - IMPORT_C static CStifParser* NewL( const TDesC& aPath, - const TDesC& aConfig, - TCommentType = ENoComments); - - /** - * Two-phased constructor. - * Creating parser with buffer information. For default all - * information will be parsed(ENoComments). - */ - IMPORT_C static CStifParser* NewL( const TDesC& aBuffer, - TCommentType = ENoComments ); - - /** - * Destructor. - */ - IMPORT_C ~CStifParser(); - - public: // New functions - - /** - * Open and read configuration source and parses a required section. - * If start tag is empty the parsing starts beging of the configuration - * file. - * If end tag is empty the parsing goes end of configuration file. - * This method starts always from beginning of configuration file and - * parses first section if aSeeked parameters is not given. - * If configuration file includes several sections with both start and - * end tags so aSeeked parameter seeks the required section. The aSeeked - * parameters indicates section that will be parsed. - */ - IMPORT_C CStifSectionParser* SectionL( const TDesC& aStartTag, - const TDesC& aEndTag, - TInt aSeeked = 1 ); - - /** - * Open and read configuration source and parses a required section. - * If start tag is empty the parsing starts beging of the configuration - * file. - * If end tag is empty the parsing goes end of configuration file. - * This method will parse next section after the earlier section if - * aSeeked parameter is not given. - * If configuration file includes several sections with both start and - * end tags so aSeeked parameter seeks the required section. The aSeeked - * parameters indicates section that will be parsed. - */ - IMPORT_C CStifSectionParser* NextSectionL( const TDesC& aStartTag, - const TDesC& aEndTag, - TInt aSeeked = 1 ); - - public: // Functions from base classes - - protected: // New functions - - protected: // Functions from base classes - - private: - - /** - * C++ default constructor. - */ - CStifParser( TCommentType aCommentType ); - - /** - * By default Symbian OS constructor is private. - */ - void ConstructL( const TDesC& aPath, - const TDesC& aConfig, - const TDesC& aContent = KNullDesC ); - - /** - * Convert a section without comments. - */ - void ParseCommentsOff( TPtr& aBuf ); - - // - // Handles special marks.( '\/\/', '\/\*' and '*/\/' ). This - // is used when ECStyleComments comment type is used. - // - void HandleSpecialMarks( TPtr& aBuf ); - - /** - * Open and read configuration source and parses a required section. - * If start tag is empty the parsing starts beging of the configuration - * file. - * If end tag is empty the parsing goes end of configuration file. - * This method will parse next section after the earlier section if - * aSeeked parameter is not given. - * If configuration file includes several sections with both start and - * end tags so aSeeked parameter seeks the required section. The aSeeked - * parameters indicates section that will be parsed. - */ - CStifSectionParser *NextSectionMemoryL( const TDesC& aStartTag, - const TDesC& aEndTag, - TInt aSeeked ); - - /** - * Open and read configuration source and parses a required section. - * If start tag is empty the parsing starts beging of the configuration - * file. - * If end tag is empty the parsing goes end of configuration file. - * This method will parse next section after the earlier section if - * aSeeked parameter is not given. - * If configuration file includes several sections with both start and - * end tags so aSeeked parameter seeks the required section. The aSeeked - * parameters indicates section that will be parsed. - */ - CStifSectionParser *NextSectionFileL( const TDesC& aStartTag, - const TDesC& aEndTag, - TInt aSeeked ); - public: // Data - - protected: // Data - - private: // Data - - /** - * For file opening. - */ - RFs iFileServer; - - /** - * For file opening. - */ - RFile iFile; - - /** - * Indicates position where we are currently. - */ - TInt iOffset; - - /** - * Comment type's indication. - */ - TCommentType iCommentType; - - /** - * Indication which mode of parsing are in use. - */ - TParsingMode iParsingMode; - - /** - * For buffer parsing. - */ - HBufC* iBufferTmp; - TPtr iBuffer; - - /** - * Flag indicating if file is unicode. - */ - TBool iIsUnicode; - - /** - * Pointer to file parser. - */ - CStifFileParser* iFileParser; - - public: // Friend classes - - protected: // Friend classes - - private: // Friend classes - - }; - -#endif // STIF_PARSER_H - -// End of File