00001 /* 00002 * ============================================================================== 00003 * Name : MSenFragment.h 00004 * Part of : Web Services Xml 00005 * Interface : 00006 * Description : This abstract class defines the interface for WSF XML 00007 * fragment classes. 00008 * Version : 00009 * 00010 * Copyright © 2002-2005 Nokia. All rights reserved. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia. All rights are reserved. Copying, including 00014 * reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia. 00019 * ============================================================================== 00020 */ 00021 00022 #ifndef M_SEN_FRAGMENT_H 00023 #define M_SEN_FRAGMENT_H 00024 00025 // INCLUDES 00026 #include <e32base.h> 00027 #include <s32strm.h> 00028 #include <xml\Attribute.h> 00029 #include <SenXmlReader.h> 00030 #include <MSenElement.h> 00031 00032 // FORWARD DECLARATIONS 00033 class CSenElement; 00034 00035 // CLASS DECLARATION 00036 00048 class MSenFragment 00049 { 00050 public: // New functions 00051 00058 virtual CSenElement& AsElement() = 0; 00059 00070 virtual CSenElement* ExtractElement() = 0; 00071 00078 virtual void SetReader(CSenXmlReader& aReader) = 0; 00079 00087 virtual CSenXmlReader* Reader() = 0; 00088 00098 virtual void ParseL(const TDesC8& aBuf) = 0; 00099 00108 virtual TInt BuildFrom(const TDesC8& aBuf) = 0; 00109 00121 virtual void DelegateParsingL(MSenFragment& aDelegate) = 0; 00122 00139 virtual void DelegateParsingL( const TDesC8& aNsUri, 00140 const TDesC8& aLocalName, 00141 const TDesC8& aQName, 00142 const RAttributeArray& aAttrs) = 0; 00143 00151 virtual void ParseWithL(CSenXmlReader& aReader) = 0; 00152 00158 virtual void SetOwner(MSenFragment& aFragment) = 0; 00159 00169 virtual void ResumeParsingFromL(const TDesC8& aNsUri, 00170 const TDesC8& aLocalName, 00171 const TDesC8& aQName) = 0; 00172 00178 virtual void SetAttributesL(const RAttributeArray& aAttrs) = 0; 00179 00189 virtual void WriteStartElementL(const TDesC8& aNsUri, 00190 const TDesC8& aLocalName, 00191 const TDesC8& aQName, 00192 const RAttributeArray& aAttrs) = 0; 00193 00202 virtual void WriteEndElementL(const TDesC8& aNsUri, 00203 const TDesC8& aLocalName, 00204 const TDesC8& aQName) = 0; 00205 00211 virtual const TDesC8& LocalName() const = 0; 00212 00218 virtual const TDesC8& NsUri() const = 0; 00219 00225 virtual const TDesC8& NsPrefix() const = 0; 00226 00232 virtual void WriteAsXMLToL(RWriteStream& aWriteStream) = 0; 00233 00239 virtual HBufC* AsXmlUnicodeL() = 0; 00240 00246 virtual HBufC8* AsXmlL() = 0; 00247 00258 virtual TBool ConsistsOfL(MSenFragment& aCandidate) = 0; 00259 }; 00260 00261 // M_SEN_FRAGMENT_H 00262 #endif 00263 00264 // End of File