--- a/stif/stif_plat/inc/StifSectionParser.h Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +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
-* CStifSectionParser.
-*
-*/
-
-#ifndef STIF_SECTION_PARSER_H
-#define STIF_SECTION_PARSER_H
-
-// INCLUDES
-#include <f32file.h>
-#include <e32std.h>
-#include <e32base.h>
-#include "StifItemParser.h"
-
-// CONSTANTS
-// Indicates is tag included in returned value.
-enum TTagToReturnValue
- {
- ETag, // Return value includes the tag
- ENoTag // Return value include no tag
- };
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-class CStifItemParser;
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CStifSectionParser is a STIF Test Framework StifParser class.
-// Class contains a configuration file parsing operations.
-
-class CStifSectionParser
- :public CBase
- {
- public: // Enumerations
-
- private: // Enumerations
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CStifSectionParser* NewL( const TInt aLength );
-
- /**
- * Destructor.
- */
- ~CStifSectionParser();
-
- public: // New functions
-
- /**
- * Parses a line for items parsing with a tag.
- * Returns a CStifItemParser object.
- * If start tag is empty the parsing starts beging of the section.
- * TTagToReturnValue indicates will also the aTag value (if exist)
- * include to the returned object(For default the tag will be added).
- */
- IMPORT_C CStifItemParser* GetItemLineL( const TDesC& aTag,
- TTagToReturnValue aTagIndicator = ETag );
-
- /**
- * Parses a next line for items parsing.
- * Returns a CStifItemParser object.
- */
- IMPORT_C CStifItemParser* GetNextItemLineL();
-
- /**
- * Parses a next line for items parsing with a tag.
- * Returns a CStifItemParser object.
- * If start tag is empty the parsing starts beging of the section.
- * TTagToReturnValue indicates will also the aTag value (if exist)
- * include to the returned object(For default the tag will be added).
- */
- IMPORT_C CStifItemParser* GetNextItemLineL( const TDesC& aTag,
- TTagToReturnValue aTagIndicator = ETag );
-
- /**
- * Parses a sub sections from the main section with a start and with
- * a end tag.
- * Returns a CStifSectionParser object.
- * If start tag is empty the parsing starts beging of the section.
- * If end tag is empty the parsing goes end of section.
- * This method will parse next subsection after the earlier subsection
- * if aSeeked parameter is not given.
- * If configuration file includes several subsections with both start
- * and end tags so aSeeked parameter seeks the required subsection. The
- * aSeeked parameters indicates subsection that will be parsed.
- */
- IMPORT_C CStifSectionParser* SubSectionL( const TDesC& aStartTag,
- const TDesC& aEndTag,
- TInt aSeeked = 1 );
-
- /**
- * Parses a next subsections from the main section with a start and with
- * a end tag.
- * Returns a CStifSectionParser object.
- * If start tag is empty the parsing starts beging of the section.
- * If end tag is empty the parsing goes end of section.
- * This method will parse next subsection after the earlier subsection
- * if aSeeked parameter is not given.
- * If configuration file includes several subsections with both start
- * and end tags so aSeeked parameter seeks the required subsection. The
- * aSeeked parameters indicates subsection that will be parsed.
- */
- IMPORT_C CStifSectionParser* NextSubSectionL( const TDesC& aStartTag,
- const TDesC& aEndTag,
- TInt aSeeked = 1 );
-
- /**
- * Get a line from section with a tag.
- * Returns an error code and a reference to the parsed line.
- * If start tag is empty the parsing starts beging of the section.
- * TTagToReturnValue indicates will also the aTag value(if exist)
- * include to the aLine reference(For default the tag will be added).
- */
- IMPORT_C TInt GetLine( const TDesC& aTag, TPtrC& aLine,
- TTagToReturnValue aTagIndicator = ETag );
-
- /**
- * Get next line.
- * Returns an error code and a reference to the parsed line.
- */
- IMPORT_C TInt GetNextLine( TPtrC& aLine );
-
- /**
- * Get next line with tag.
- * Returns an error code and a reference to the parsed line.
- * If start tag is empty the parsing starts beging of the section.
- * TTagToReturnValue indicates will also the aTag value(if exist)
- * include to the aLine reference(For default the tag will be added).
- */
- IMPORT_C TInt GetNextLine( const TDesC& aTag, TPtrC& aLine,
- TTagToReturnValue aTagIndicator = ETag );
-
- /**
- * Get current position.
- * Returns current parsing position, which
- * can be used as parameter for SetPosition afterwards to go back
- * to old parsing position.
- */
- IMPORT_C TInt GetPosition();
-
- /**
- * Set position.
- * Returns a Symbian OS error code. aPos indicates the position to
- * which section parser should go.
- * SetPosition can be used to set parsing position, e.g. to rewind
- * back to some old position retrieved with GetPosition.
- */
- IMPORT_C TInt SetPosition( TInt aPos );
-
- /**
- * Create a section.
- */
- void SetData( TPtr aData,
- TInt aStartPos,
- TInt aLength );
-
- /**
- * Returns a current section.
- */
- const TPtrC Des();
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private:
-
- /**
- * C++ default constructor.
- */
- CStifSectionParser( const TInt aLength );
-
- /**
- * By default Symbian OS constructor is private.
- */
- void ConstructL();
-
- /**
- * Generic start and end position parser for given data.
- * Returns an error code.
- */
- TInt ParseStartAndEndPos( TPtrC aSection,
- const TDesC& aStartTag,
- TTagToReturnValue aTagIndicator,
- TInt& aStartPos,
- TInt& aEndPos,
- TInt& aLength );
-
- /**
- * Generic search for end-of-line.
- * Returns position before linefeed and
- * lex is posotioned to the beginning of next line.
- */
- TInt GotoEndOfLine( TLex& lex );
-
- /**
- * Substracts line from the begining of selected text.
- */
- TPtrC SubstractLine( const TPtrC& aText );
-
- /**
- * Searches for selected tag in a text.
- */
- TInt FindTag( const TDesC& aText, const TDesC& aTag, TInt& aStartPos, TInt& aEndPos );
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- /**
- * Parsed section with SectionL() or SubSectionL() method.
- */
- TPtr iSection;
-
- /**
- * Section length definitions.
- */
- HBufC* iHBufferSection;
-
- /**
- * Section length
- */
- TInt iLength;
-
- /**
- * Indicates position where start the parsing.
- */
- TInt iSkipAndMarkPos;
-
- /**
- * For line and item line parsing. Indicator is GetLine() or
- * GetItemLineL() method used.
- */
- TBool iLineIndicator;
-
- /**
- * Indicates position where we are currently(subsection).
- */
- TInt iSubOffset;
-
- public: // Friend classes
-
- /**
- * For testing operations to get length information.
- */
- friend class CTestParser;
-
- protected: // Friend classes
-
- private: // Friend classes
-
- };
-
-#endif // STIF_SECTION_PARSER_H
-
-// End of File