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
00038 class CSenFragment : public CBase, public MSenFragment
00039 {
00040 public:
00041
00047 virtual CSenElement& AsElement() = 0;
00048
00057 virtual CSenElement* ExtractElement() = 0;
00058
00064 virtual void SetReader(CSenXmlReader& aReader) = 0;
00065
00071 virtual CSenXmlReader* Reader() = 0;
00072
00078 virtual void ParseL(const TDesC8& aXml) = 0;
00079
00086 virtual TInt BuildFrom(const TDesC8& aBuf) = 0;
00087
00095 virtual void DelegateParsingL(MSenFragment& aDelegate) = 0;
00096
00108 virtual void DelegateParsingL(const TDesC8& aNsUri,
00109 const TDesC8& aLocalName,
00110 const TDesC8& aQName,
00111 const RAttributeArray& aAttrs) = 0;
00112
00118 virtual void ParseWithL(CSenXmlReader& aReader) = 0;
00119
00124 virtual void SetOwner(MSenFragment& aFragment) = 0;
00125
00133 virtual void ResumeParsingFromL(const TDesC8& aNsUri,
00134 const TDesC8& aLocalName,
00135 const TDesC8& aQName) = 0;
00136
00141 virtual void SetAttributesL(const RAttributeArray& aAttrs) = 0;
00142
00151 virtual void WriteStartElementL(const TDesC8& aNsUri,
00152 const TDesC8& aLocalName,
00153 const TDesC8& aQName,
00154 const RAttributeArray& aAttrs) = 0;
00155
00163 virtual void WriteEndElementL(const TDesC8& aNsUri,
00164 const TDesC8& aLocalName,
00165 const TDesC8& aQName) = 0;
00166
00171 virtual const TDesC8& LocalName() const = 0;
00172
00177 virtual const TDesC8& NsUri() const = 0;
00178
00183 virtual const TDesC8& NsPrefix() const = 0;
00184
00189 virtual void WriteAsXMLToL(RWriteStream& aWriteStream) = 0;
00190
00196 virtual HBufC* AsXmlUnicodeL() = 0;
00197
00202 virtual HBufC8* AsXmlL() = 0;
00203
00208 virtual TPtrC8 Content() = 0;
00209
00220 virtual TBool ConsistsOfL(MSenFragment& aCandidate) = 0;
00221 };
00222
00223 #endif // SEN_FRAGMENT_H
00224
00225
00226
00227