webservices/wsfragment/inc/senparserimpl.h
changeset 0 62f9d29f7211
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsfragment/inc/senparserimpl.h	Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,165 @@
+/*
+* Copyright (c) 2002-2005 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 is the real, internal implementation of CSenParser
+*
+*/
+
+
+
+
+
+
+
+
+#ifndef SEN_PARSERIMPL_H
+#define SEN_PARSERIMPL_H
+
+#include <SenParser.h>
+
+class CSenParserImpl : public CSenParser
+    {
+    public: // Constructors and destructor
+
+        static CSenParserImpl* NewL();
+        static CSenParserImpl* NewLC();
+
+        static CSenParserImpl* NewL(CParser* aParser);
+        static CSenParserImpl* NewLC(CParser* aParser);
+
+        static CSenParserImpl* NewL(const TDesC8& aParserMimeType);
+        static CSenParserImpl* NewLC(const TDesC8& aParserMimeType);
+
+        virtual ~CSenParserImpl();
+        
+        virtual void SetContentHandler(CSenFragmentBase& aContentHandler);
+
+        virtual void ParseBeginL();
+        virtual void ParseBeginL(const TDesC8& aDocumentMimeType);
+
+
+        virtual void ParseL(const TDesC8& aFragment,
+                                CSenFragmentBase& aContentHandler);
+        virtual void ParseL(RFs& aFs, const TDesC& aFilename,
+                                 CSenFragmentBase& aContentHandler);
+        virtual void ParseL(RFile& aFile, CSenFragmentBase& aContentHandler);
+                                
+        virtual void ParseEndL();
+
+        virtual void SetProcessorChainL(const RContentProcessorUids& aPlugins);
+
+        virtual TInt EnableFeature(TInt aParserFeature);
+        virtual TInt DisableFeature(TInt aParserFeature);
+        virtual TBool IsFeatureEnabled(TInt aParserFeature) const;
+
+        virtual void AddPreloadedDictionaryL(const TDesC8& aPublicId);
+
+        virtual RStringPool& StringPool();
+        virtual RStringDictionaryCollection& StringDictionaryCollection();
+
+    private:
+        CSenParserImpl(CParser* apParser);
+        void ConstructL();
+        void ConstructL(const TDesC8& aParserMimeType);
+
+    private: // Data
+        CSenContentHandler*     ipContentHandler;
+        CParser*                ipParser;
+    };
+
+NONSHARABLE_CLASS(CSenContentHandler) : public CBase, public MContentHandler
+    {
+    public: // Constructors and destructor
+
+        static CSenContentHandler* NewL();
+        static CSenContentHandler* NewLC();
+
+        static CSenContentHandler* NewL(MContentHandler& aContentHandler);
+        static CSenContentHandler* NewLC(MContentHandler& aContentHandler);
+        
+        virtual ~CSenContentHandler();
+
+        void SetContentHandler(MContentHandler& aContentHandler);
+
+        MContentHandler& ContentHandler();
+
+    public: // From MContentHandler
+
+        virtual void OnStartDocumentL(const RDocumentParameters& aDocParam, TInt aErrorCode);
+
+        virtual void OnEndDocumentL(TInt aErrorCode);
+
+
+        virtual void OnStartElementL(const RTagInfo& aElement, const RAttributeArray& aAttributes,
+                                 TInt aErrorCode);
+
+        virtual void OnEndElementL(const RTagInfo& aElement, TInt aErrorCode);
+
+        virtual void OnContentL(const TDesC8& aBytes, TInt aErrorCode);
+
+        virtual void OnStartPrefixMappingL(const RString& aPrefix, const RString& aUri,
+                                       TInt aErrorCode);
+
+        virtual void OnEndPrefixMappingL(const RString& aPrefix, TInt aErrorCode);
+
+        virtual void OnIgnorableWhiteSpaceL(const TDesC8& aBytes, TInt aErrorCode);
+
+        virtual void OnSkippedEntityL(const RString& aName, TInt aErrorCode);
+
+        virtual void OnProcessingInstructionL(const TDesC8& aTarget, const TDesC8& aData,
+                                          TInt aErrorCode);
+
+        /*
+        * Symbian XML Framework errocodes:
+        * [from XmlParserErrors.h]
+        * EXmlParserError = -1000,
+        * EXmlSyntax = 2+EXmlParserError,       // -998
+        * EXmlNoElements,                       // -997
+        * EXmlInvalidToken,                     // -996
+        * EXmlUnclosedToken,                    // -995
+        * EXmlPartialChar,                      // -994
+        * EXmlTagMismatch,                      // -993
+        * EXmlDuplicateAttribute,               // -992
+        * EXmlJunkAfterDocElement,              // -991
+        * EXmlPeRef,                            // -990
+        * EXmlUndefinedEntity,                  // -989
+        * EXmlRecursiveEntity,                  // -988
+        * EXmlAsyncEntity,                      // -987
+        * EXmlBadCharRef,                       // -986
+        * EXmlBinaryEntityRef,                  // -985
+        * EXmlAttributeExternalEntityRef,       // -984
+        * EXmlMisplacedPi,                      // -983
+        * EXmlUnknownEncoding,                  // -982
+        * EXmlIncorrectEncoding,                // -981
+        * EXmlUnclosedCdata,                    // -980
+        * EXmlExternalEntityHandling,           // -979
+        * EXmlNotStandalone,                    // -978
+        * EXmlUnexpectedState,                  // -977
+        * EXmlEntityDeclInPe,                   // -976
+        * EXmlDtdRequired,                      // -975
+        * EXmlFeatureLockedWhileParsing         // -974
+        */
+        virtual void OnError(TInt aErrorCode);
+
+        virtual TAny* GetExtendedInterface(const TInt32 aUid);
+
+    private:
+        CSenContentHandler(MContentHandler* apContentHandler);
+
+    private: // Data
+        MContentHandler* ipContentHandler;
+    };
+
+#endif //SEN_PARSERIMPL_H
+
+// End of File
\ No newline at end of file