diff -r 2fe1408b6811 -r e1b950c65cb4 epoc32/include/xmlengdomparser.h --- a/epoc32/include/xmlengdomparser.h Tue Mar 16 16:12:26 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,184 +0,0 @@ -/* -* Copyright (c) 2004-2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -* which accompanies this distribution, and is available -* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: DOM parser functions -* -*/ - - - - - - - -#ifndef XMLENGINE_DOMPARSER_H_INCLUDED -#define XMLENGINE_DOMPARSER_H_INCLUDED - -#include - -class RXmlEngDOMImplementation; -class RXmlEngDocument; - -/** - * DOM parser class implements methods for parsing XML data. - * - * Parse XML data in one chunk. Data can be parsed from file - * or memory buffer. - * - * Sample code for parsing from buffer: - * @code - * RXmlEngDOMImplementation domImpl; - * domImpl.OpenL(); ///< opening DOM implementation object - * RXmlEngDOMParser parser; - * parser.Open( domImpl ); ///< opening parser object - * RXmlEngDocument iDoc; - * iDoc =parser.ParseL( *aInput ); ///< parsing aInput - buffer - * iDoc.Close(); ///< closing all opened objects - * parser.Close(); - * domImpl.Close(); - * @endcode - * - * Sample code for parsing from file: - * @code - * RXmlEngDOMImplementation domImpl; - * domImpl.OpenL(); ///< opening DOM implementation object - * RXmlEngDOMParser parser; - * parser.Open( domImpl ); ///< opening parser object - * RXmlEngDocument iDoc; - * iDoc =parser.ParseFileL( aFileName ); ///< parsing from file - * iDoc.Close(); ///< closing all openend objects - * parser.Close(); - * domImpl.Close(); - * @endcode - * - * @lib XmlEngineDOM.lib - * @since S60 v3.1 - */ -class RXmlEngDOMParser -{ -public: - /** - * Default constructor - */ - IMPORT_C RXmlEngDOMParser(); - - /** - * Opens the parser. - * - * @since S60 v3.2 - * @param aDOMImpl DOM implementation object - * @return KErrNone if succeed. - */ - IMPORT_C TInt Open(RXmlEngDOMImplementation& aDOMImpl); - - /** - * Closes the parser. - * - * @since S60 v3.2 - */ - IMPORT_C void Close(); - - /** - * Parses chunk of XML data from memory buffer and builds DOM RXmlEngDocument. - * - * @since S60 v3.2 - * @param aBuffer XML data buffer - * - * @leave KXmlEngErrParsing or one of general codes (e.g. KErrNoMemory) - */ - IMPORT_C void ParseChunkL(const TDesC8& aBuffer); - /** - * Creates document from parsed chunks of data. - * Should be called after parsing of allchunks. - * Ownership over returned RXmlEngDocument object is transferred to the caller of the method. - * - * @since S60 v3.2 - * @return RXmlEngDocument created document. - * - * @leave KXmlEngErrParsing or one of general codes (e.g. KErrNoMemory) - */ - IMPORT_C RXmlEngDocument FinishL(); - - /** - * Parses XML file and builds DOM RXmlEngDocument - * - * @since S60 v3.2 - * @param aRFs File server session - * @param aFileName File name - * @param aChunkSize Size of chunk (if 0 chunks won't be used) - * @return Document handle - * - * @leave KXmlEngErrParsing or one of general codes (e.g. KErrNoMemory) - */ - IMPORT_C RXmlEngDocument ParseFileL(RFs &aRFs, const TDesC& aFileName, TUint aChunkSize = 0); - - /** - * Parses XML file and builds DOM RXmlEngDocument - * - * @since S60 v3.2 - * @param aFileName File name - * @param aChunkSize Size of chunk (if 0 chunks won't be used) - * @return Document handle - * - * @leave KXmlEngErrParsing or one of general codes (e.g. KErrNoMemory) - */ - IMPORT_C RXmlEngDocument ParseFileL(const TDesC& aFileName, TUint aChunkSize = 0); - - /** - * Parses XML data from memory buffer and builds DOM RXmlEngDocument without chunks - * - * @since S60 v3.1 - * @param aBuffer XML data buffer - * @return Document handle - * - * @leave KXmlEngErrParsing code (besides system I/O error codes) - */ - IMPORT_C RXmlEngDocument ParseL(const TDesC8& aBuffer); - - /** - * Return last parsing error code. - * - * @since S60 v3.2 - * @return positive number - * - * @note Error codes are positive numbers. User can find them - * in XmlEngDErrors.h - */ - IMPORT_C TInt GetLastParsingError(); -private: - /** - * Parses XML file and builds DOM RXmlEngDocument without usage of chunks - * - * @param aRFs File server session - * @param aFileName File name - * @return Document handle - * - * @leave KXmlEngErrParsing code (besides system I/O error codes) - */ - RXmlEngDocument ParseFileWithoutChunksL(RFs& aRFs, const TDesC& aFileName); - - /** - * Cleanup internal data. - * - * @since S60 v3.2 - */ - void Cleanup(); -private: - void* iInternal; - TInt iError; - RXmlEngDOMImplementation* iImpl; -}; - - - -#endif /* XMLENGINE_DOMPARSER_H_INCLUDED */