00001 /* 00002 * ============================================================================== 00003 * Name : xmlengdomparser.h 00004 * Part of : XmlEngine / DOM XPath C++ Wrapper 00005 * Interface : Domain, XML Engine DOM API 00006 * Description : DOM parser functions 00007 * Version : %version: 1 % 00008 * 00009 * Copyright © 2004-2006 Nokia. All rights reserved. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia. All rights are reserved. Copying, including 00013 * reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef XMLENGINE_DOMPARSER_H_INCLUDED 00022 #define XMLENGINE_DOMPARSER_H_INCLUDED 00023 00024 #include <f32file.h> 00025 00026 class RXmlEngDOMImplementation; 00027 class RXmlEngDocument; 00028 00064 class RXmlEngDOMParser 00065 { 00066 public: 00070 IMPORT_C RXmlEngDOMParser(); 00071 00079 IMPORT_C TInt Open(RXmlEngDOMImplementation& aDOMImpl); 00080 00086 IMPORT_C void Close(); 00087 00096 IMPORT_C void ParseChunkL(const TDesC8& aBuffer); 00107 IMPORT_C RXmlEngDocument FinishL(); 00108 00120 IMPORT_C RXmlEngDocument ParseFileL(RFs &aRFs, const TDesC& aFileName, TUint aChunkSize = 0); 00121 00132 IMPORT_C RXmlEngDocument ParseFileL(const TDesC& aFileName, TUint aChunkSize = 0); 00133 00143 IMPORT_C RXmlEngDocument ParseL(const TDesC8& aBuffer); 00144 00154 IMPORT_C TInt GetLastParsingError(); 00155 private: 00165 RXmlEngDocument ParseFileWithoutChunksL(RFs& aRFs, const TDesC& aFileName); 00166 00172 void Cleanup(); 00173 private: 00174 void* iInternal; 00175 TInt iError; 00176 RXmlEngDOMImplementation* iImpl; 00177 }; 00178 00179 00180 00181 #endif /* XMLENGINE_DOMPARSER_H_INCLUDED */