--- a/stif/Parser/inc/StifFileParser.h Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +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 CStifFileParser.
-*
-*/
-
-#ifndef STIF_FILE_PARSER_H
-#define STIF_FILE_PARSER_H
-
-// INCLUDES
-#include <f32file.h>
-#include <e32std.h>
-#include <e32base.h>
-#include "cstackdeprecated.h"
-#include <StifTestModule.h>
-#include "StifParser.h"
-
-// CONSTANTS
-_LIT(KIncludeKeyword, "INCLUDE");
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CStifFileParser is a STIF Test Framework StifParser class.
-// Class contains a configuration file parsing operations without loading it into memory.
-
-
-NONSHARABLE_CLASS (CStifFileParser) : public CBase
-{
- public: // Enumerations
- // Indication what kind of char sequence is to be found
- enum TWhatToFind
- {
- EStart, // '//' or '/*' or '"' signs
- EQuota, // '"' sign
- EEndOfComment // '*/' sequence
- };
-
- // Indication if beginning or end of section is to be found
- enum TSectionFind
- {
- ESectionStart,
- ESectionEnd
- };
-
- private: // Enumerations
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * Creating parser with given handle to file. For default all
- * information will be parsed(ENoComments).
- */
- static CStifFileParser* NewL(RFs& aFs,
- RFile &aFile,
- TBool aIsUnicode,
- CStifParser::TCommentType aCommentType = CStifParser::ENoComments);
-
- /**
- * Destructor.
- */
- ~CStifFileParser();
-
- public: // New functions
-
- /**
- * Open and read configuration source and parses a required section.
- * This method will parse next section after the earlier section if
- * aSeeked parameter is equal 1.
- * 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.
- * If start tag is not given, returned section begins from the beginning of
- * the file. If end tag is not given, returned sections ends at the end of
- * the file.
- * If section is not found and first occurence of section is seeked, function
- * will return NULL, but if second (or further) occurence is seeked, function
- * will leave with KErrNotFound (for compability with CStifParser::NextSectionL
- * reason).
- */
- HBufC* NextSectionL(const TDesC& aStartTag,
- const TDesC& aEndTag,
- TInt& aOffset,
- TInt aSeeked = 1);
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private:
-
- /**
- * C++ default constructor.
- */
- CStifFileParser(CStifParser::TCommentType aCommentType);
-
- /**
- * By default Symbian OS constructor is private.
- */
- void ConstructL(RFs& aFs,
- RFile &aFile,
- TBool aIsUnicode);
-
- /**
- * Reads configuration source and returns a complete line.
- * This method will return also and end of line sequence.
- */
- TBool ReadLineL(TPtr& aLineBuffer,
- TPtr& aEndOfLineBuffer);
-
- /**
- * Parses a given line and removes all c-style comments from it (and #-style comments).
- * Result is passed in destination buffer.
- */
- void ReplaceCommentsLineL(TPtr& aSrcBufPtr,
- TPtr& aDstBufPtr,
- TWhatToFind& aFind);
-
- /**
- * Parses a given line and removes all #-style comments.
- * Result is passed in destination buffer.
- */
- void ReplaceHashCommentsLineL(TPtr& aSrcBufPtr,
- TPtr& aDstBufPtr);
-
- /**
- * Closes all files on file stack and clears the stack.
- */
- void ClearFileStack(void);
-
- /**
- * Pops RFile handle from file stack and sets correct current file handle.
- */
- void PopFromFileStack(void);
-
- /**
- * Opens file and pushes it to stack.
- */
- void PushFileToStackL(const TDesC& aFileName);
-
- /**
- * Deletes all descriptors assigned to array and empties array.
- */
- void ClearSectionLinesArray(void);
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- /**
- * For file opening.
- */
- RFs iFileServer;
-
- /**
- * For file opening. This is the first (base) file. Later other files may be opened if
- * they are included to base one.
- */
- RFile iBaseFile;
-
- /**
- * Comment type's indication.
- */
- CStifParser::TCommentType iCommentType;
-
- /**
- * Flag indicating if file is unicode.
- */
- TBool iIsUnicode;
-
- /**
- * How many bytes per char in file (2 for unicode, 1 for non-unicode).
- */
- TInt iBytesPerChar;
-
- /**
- * Handle to file which is currently read.
- */
- RFile* iCurrentFile;
-
- /**
- * Stack of opened files (it does not contain base file).
- */
- CStackDeprecated<RFile, EFalse>* iFileStack;
-
- /**
- * Array of lines belonging to seeked section.
- */
- RPointerArray<HBufC> iSectionLines;
-
- /**
- * Array of already included files (to avoid loop in includes).
- */
- RPointerArray<HBufC> iFileNames;
-
- /**
- * Buffer with eol sequence. Filled when include found and used after last line of inlcuded file.
- */
- TBuf<2> iEolBuf;
-
- public: // Friend classes
-
- protected: // Friend classes
-
- private: // Friend classes
-};
-
-#endif // STIF_FILE_PARSER_H
-
-// End of File