00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SEN_FRAGMENT_H
00022 #define SEN_FRAGMENT_H
00023
00024
00025 #include <e32base.h>
00026 #include <s32strm.h>
00027 #include <xml\Attribute.h>
00028 #include <SenXmlReader.h>
00029 #include <SenElement.h>
00030 #include <MSenFragment.h>
00031
00032
00033
00039 class CSenFragment : public CBase, public MSenFragment
00040 {
00041 public:
00042
00048 virtual CSenElement& AsElement() = 0;
00049
00058 virtual CSenElement* ExtractElement() = 0;
00059
00065 virtual void SetReader(CSenXmlReader& aReader) = 0;
00066
00072 virtual CSenXmlReader* Reader() = 0;
00073
00079 virtual void ParseL(const TDesC8& aBuf) = 0;
00080
00087 virtual TInt BuildFrom(const TDesC8& aBuf) = 0;
00088
00096 virtual void DelegateParsingL(MSenFragment& aDelegate) = 0;
00097
00109 virtual void DelegateParsingL(const TDesC8& aNsUri,
00110 const TDesC8& aLocalName,
00111 const TDesC8& aQName,
00112 const RAttributeArray& aAttrs) = 0;
00113
00119 virtual void ParseWithL(CSenXmlReader& aReader) = 0;
00120
00125 virtual void SetOwner(MSenFragment& aFragment) = 0;
00126
00134 virtual void ResumeParsingFromL(const TDesC8& aNsUri,
00135 const TDesC8& aLocalName,
00136 const TDesC8& aQName) = 0;
00137
00142 virtual void SetAttributesL(const RAttributeArray& aAttrs) = 0;
00143
00152 virtual void WriteStartElementL(const TDesC8& aNsUri,
00153 const TDesC8& aLocalName,
00154 const TDesC8& aQName,
00155 const RAttributeArray& aAttrs) = 0;
00156
00164 virtual void WriteEndElementL(const TDesC8& aNsUri,
00165 const TDesC8& aLocalName,
00166 const TDesC8& aQName) = 0;
00167
00172 virtual const TDesC8& LocalName() const = 0;
00173
00178 virtual const TDesC8& NsUri() const = 0;
00179
00184 virtual const TDesC8& NsPrefix() const = 0;
00185
00190 virtual void WriteAsXMLToL(RWriteStream& aWriteStream) = 0;
00191
00197 virtual HBufC* AsXmlUnicodeL() = 0;
00198
00203 virtual HBufC8* AsXmlL() = 0;
00204
00209 virtual TPtrC8 Content() = 0;
00210
00221 virtual TBool ConsistsOfL(MSenFragment& aCandidate) = 0;
00222 };
00223
00224
00225 #endif
00226
00227
00228
00229