msenfragment.h

Go to the documentation of this file.
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

Copyright © Nokia Corporation 2001-2008
Back to top