senelement.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : SenElement.h
00004 *  Part of     : Web Services Xml
00005 *  Interface   : Abstract class definition of XML element
00006 *  Description : Central place for debug-type macros
00007 *  Version     : 
00008 *
00009 *  Copyright © 2002-2005 Nokia. All rights reserved.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia. All rights are reserved. Copying, including 
00013 *  reproducing, storing, adapting or translating, any 
00014 *  or all of this material requires the prior written consent of 
00015 *  Nokia. This material also contains confidential 
00016 *  information which may not be disclosed to others without the 
00017 *  prior written consent of Nokia.
00018 * ==============================================================================
00019 */
00020 
00021 #ifndef SEN_ELEMENT_H
00022 #define SEN_ELEMENT_H
00023 
00024 //  INCLUDES
00025 #include <e32base.h>
00026 #include <s32strm.h>
00027 #include <xml\Attribute.h>
00028 #include <MSenElement.h>
00029 
00030 // CLASS DECLARATION
00031 
00037 class CSenElement : public CBase, public MSenElement
00038     {
00039     public: // Functions from base classes
00040 
00041         // From MSenElement 
00042         
00048         virtual const TDesC8& LocalName() const = 0;
00049 
00055         virtual const TDesC8& NamespaceURI() const = 0;
00056 
00062         virtual void SetNamespaceL(const TDesC8& aNsUri) = 0;
00063 
00070         virtual void SetNamespaceL(     const TDesC8& aNsPrefix,
00071                                                                         const TDesC8& aNsUri) = 0;
00072 
00080         virtual const CSenNamespace* AddNamespaceL(     const TDesC8& aPrefix,
00081                                                                                                         const TDesC8& aUri) = 0;
00082 
00089         virtual const CSenNamespace* Namespace() = 0;
00090 
00098         virtual const CSenNamespace* Namespace(const TDesC8& aNsPrefix) = 0;
00099 
00108         virtual const CSenNamespace* Namespace( const TDesC8& aNsPrefix,
00109                                                                                                 const TDesC8& aUri) = 0;
00110 
00122                 virtual const CSenNamespace* Namespace( const TDesC8& aNsPrefix,
00123                                                                                                 const TBool aCheckInParent) = 0;
00124 
00130                 virtual const TDesC8& NsPrefix() const = 0;
00131 
00137                 virtual void SetPrefixL(const TDesC8& aPrefix) = 0;
00138 
00144             virtual TBool HasContent() const = 0;
00145 
00151                 virtual TPtrC8 Content() const = 0;
00152 
00158                 virtual HBufC* ContentUnicodeL() const = 0;
00159                 
00166                 virtual TPtrC8 SetContentL(const TDesC8& aContent) = 0;
00167 
00175             virtual RWriteStream& ContentWriteStreamL() = 0;
00176 
00187                 virtual TBool ConsistsOfL(MSenElement& aCandidate) = 0;
00188 
00198                 virtual TInt ElementsL(RPointerArray<CSenElement>& aElementArray,
00199                                                            const TDesC8& aNsUri,
00200                                                            const TDesC8& aLocalName) = 0;
00201 
00210                 virtual TInt ElementsL(RPointerArray<CSenElement>& aElementArray,
00211                                                            const TDesC8& aLocalName) = 0;
00212 
00219             virtual RPointerArray<CSenElement>& ElementsL() = 0;
00220             
00231                 virtual const CSenNamespace* AddNamespaceL(CSenNamespace& aNewNamespace,
00232                                                                                                    TBool aCheckInParent) = 0;
00233 
00241                 virtual const TDesC8* AttrValue(const TDesC8& aName) = 0;
00242 
00250             virtual void AddAttrL(const TDesC8& aName, const TDesC8& aValue) = 0;
00251 
00258                 virtual RPointerArray<CSenBaseAttribute>& AttributesL() = 0;
00259 
00266                 virtual RPointerArray<CSenNamespace>& NamespacesL() = 0;
00267 
00274             virtual CSenElement* Parent() = 0;
00275 
00284             virtual CSenElement* SetParent(CSenElement* apParent) = 0;
00285 
00295                 virtual CSenElement* DetachL() = 0;
00296 
00304                 virtual CSenElement* Child(TInt aIndex) = 0;
00305 
00311             virtual MSenElement& Root() = 0;
00312 
00321                 virtual CSenElement* Element(const TDesC8& aLocalName) = 0;
00322 
00331                 virtual CSenElement* Element(const TDesC8& aNsUri,
00332                                                                          const TDesC8& aLocalName) = 0;
00333 
00347                 virtual CSenElement* CreateElementL(const TDesC8& aNsPrefix,
00348                                                                                         const TDesC8& aLocalName) = 0;
00349 
00363                 virtual CSenElement& InsertElementL(CSenElement& aInsertedElement,
00364                                                                                         const CSenElement& aBeforeElement) = 0;
00365 
00373             virtual CSenElement& AddElementL(CSenElement& aElement) = 0;
00374 
00386             virtual CSenElement& AddElementL(   const TDesC8& aNsUri,
00387                                                                                         const TDesC8& aLocalName) = 0;
00388                 
00402             virtual CSenElement& AddElementL(const TDesC8& aNsUri,
00403                                                                          const TDesC8& aLocalName,
00404                                                                          const TDesC8& aQName) = 0;
00405 
00419             virtual CSenElement& AddElementL(const TDesC8& aLocalName) = 0;
00420 
00429             virtual CSenElement* RemoveElement(CSenElement& aElement) = 0;
00430 
00440             virtual CSenElement* RemoveElement( const TDesC8& aNsUri,
00441                                                                                         const TDesC8& aLocalName) = 0;
00442 
00451                 virtual CSenElement* RemoveElement(const TDesC8& aLocalName) = 0;
00452 
00464             virtual CSenElement* ReplaceElementL(CSenElement& aElement) = 0;
00465 
00472             virtual HBufC8* AsXmlL() = 0;
00473                 
00480             virtual HBufC* AsXmlUnicodeL() = 0;
00481 
00487                 virtual void WriteAsXMLToL(RWriteStream& aWriteStream) = 0;
00488 
00494                 virtual void WriteNamespacesToL(RWriteStream& aWriteStream) = 0;
00495 
00503             virtual MSenElement* AsElement() = 0;
00504 
00511                 virtual void CopyFromL(CSenElement& aSource) = 0;
00512 
00524                 virtual void Set(const TDesC8& aNamespaceURI, const TDesC8& aLocalName, const TDesC8& aQName) = 0;
00525 
00531                 virtual void AddAttributesL(const RAttributeArray& apAttrs) = 0;
00532     };
00533 
00534 //SEN_ELEMENT_H
00535 #endif
00536 
00537 // End of File
00538 

Copyright © Nokia Corporation 2001-2008
Back to top