williamr@4: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // All binary data functions williamr@4: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@4: @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: #ifndef XMLENGBINARYCONTAINER_H williamr@4: #define XMLENGBINARYCONTAINER_H williamr@4: williamr@4: #include williamr@4: williamr@4: /** williamr@4: This class represents binary data in a DOM tree. williamr@4: williamr@4: Binary data is treated in general as text nodes in DOM tree. williamr@4: Data is stored in process's heap memory. williamr@4: williamr@4: Sample code for creating binary container: williamr@4: @code williamr@4: RXmlEngDOMImplementation domImpl; williamr@4: domImpl.OpenL(); // opening DOM implementation object williamr@4: RXmlEngDocument iDoc; williamr@4: // create document element williamr@4: TXmlEngElement elem = iDoc.CreateDocumentElementL(_L8("doc")); williamr@4: // create binary container from buffer (str1) and CID equals cid williamr@4: TXmlEngBinaryContainer binData=iDoc.CreateBinaryContainerL(cid,*str1); williamr@4: elem.AppendChildL(binData); // append container to the dom tree williamr@4: iDoc.Close(); // closing all opened objects williamr@4: domImpl.Close(); williamr@4: @endcode williamr@2: */ williamr@2: class TXmlEngBinaryContainer : public TXmlEngDataContainer williamr@2: { williamr@2: public: williamr@2: williamr@4: /** Get content of the container. williamr@4: @return The contents of the container williamr@4: */ williamr@2: IMPORT_C TPtrC8 Contents() const; williamr@2: williamr@4: /** williamr@4: Copies the given string and sets the contents of the binary container williamr@4: @param aNewContents The actual value to store williamr@4: @leave KXmlEngErrNullNode Node is NULL williamr@4: @leave - One of the system-wide error codes williamr@4: */ williamr@2: IMPORT_C void SetContentsL( const TDesC8& aNewContents ); williamr@2: williamr@4: /** williamr@4: Appends contents to binary container williamr@4: @param aData Content to be appended williamr@4: @leave KXmlEngErrNullNode Node is NULL williamr@4: @leave - One of the system-wide error codes williamr@4: */ williamr@2: EXPORT_C void AppendContentsL( const TDesC8& aData ); williamr@2: williamr@4: /** Default constructor */ williamr@2: inline TXmlEngBinaryContainer(); williamr@2: williamr@2: protected: williamr@2: williamr@2: /** williamr@4: Constructor williamr@4: @param aInternal node pointer williamr@4: */ williamr@2: inline TXmlEngBinaryContainer(void* aInternal); williamr@2: }; williamr@2: williamr@4: #include williamr@2: williamr@4: #endif /* XMLENGBINARYCONTAINER_H */ williamr@4: