00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SEN_PARSER_H
00023 #define SEN_PARSER_H
00024
00025 #include <Xml/ContentHandler.h>
00026 #include <Xml/Parser.h>
00027
00028 using namespace Xml;
00029
00030
00031 class CSenContentHandler;
00032 class CSenFragmentBase;
00033
00034 class CSenParser : public CBase
00035 {
00036 public:
00037
00042 IMPORT_C static CSenParser* NewL();
00047 IMPORT_C static CSenParser* NewLC();
00048
00055 IMPORT_C static CSenParser* NewL(CParser* aParser);
00062 IMPORT_C static CSenParser* NewLC(CParser* aParser);
00063
00070 IMPORT_C static CSenParser* NewL(const TDesC8& aParserMimeType);
00077 IMPORT_C static CSenParser* NewLC(const TDesC8& aParserMimeType);
00078
00083 virtual void SetContentHandler(CSenFragmentBase& aContentHandler) = 0;
00084
00088 virtual void ParseBeginL() = 0;
00093 virtual void ParseBeginL(const TDesC8& aDocumentMimeType) = 0;
00094
00100 virtual void ParseL(const TDesC8& aFragment,
00101 CSenFragmentBase& aContentHandler) = 0;
00108 virtual void ParseL(RFs& aFs, const TDesC& aFilename,
00109 CSenFragmentBase& aContentHandler) = 0;
00115 virtual void ParseL(RFile& aFile, CSenFragmentBase& aContentHandler) = 0;
00116
00120 virtual void ParseEndL() = 0;
00121
00125 virtual void SetProcessorChainL(const RContentProcessorUids& aPlugins) = 0;
00126
00130 virtual TInt EnableFeature(TInt aParserFeature) = 0;
00134 virtual TInt DisableFeature(TInt aParserFeature) = 0;
00140 virtual TBool IsFeatureEnabled(TInt aParserFeature) const = 0;
00144 virtual void AddPreloadedDictionaryL(const TDesC8& aPublicId) = 0;
00145
00149 virtual RStringPool& StringPool() = 0;
00153 virtual RStringDictionaryCollection& StringDictionaryCollection() = 0;
00154
00155 protected:
00156 CSenParser();
00157 };
00158
00159
00160 #endif //SEN_PARSER_H
00161
00162