1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/xml/dom/xmlengchunkcontainer.h Wed Mar 31 12:27:01 2010 +0100
1.3 @@ -0,0 +1,104 @@
1.4 +/*
1.5 +* Copyright (c) 2006-2006 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description: All memory chunk data functions
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +
1.23 +
1.24 +
1.25 +
1.26 +
1.27 +#ifndef XMLENGINE_CHUNKCONTAINER_H_INCLUDED
1.28 +#define XMLENGINE_CHUNKCONTAINER_H_INCLUDED
1.29 +
1.30 +#include "xmlengdatacontainer.h"
1.31 +
1.32 +
1.33 +/**
1.34 +* Instance of TXmlEngChunkContainer class represents data stored in RChunks in DOM tree
1.35 +*
1.36 +* RChunk data is treated in general as text nodes in DOM tree.
1.37 +* Some of the fields in xmlNode structure are reused in order to save memory.
1.38 +* Data is stored in memory referenced to by RChunk.
1.39 +*
1.40 +* Sample code for creating chunk container:
1.41 +* @code
1.42 +* RXmlEngDOMImplementation domImpl;
1.43 +* domImpl.OpenL(); ///< opening DOM implementation object
1.44 +* RXmlEngDocument iDoc;
1.45 +* ///< create document element
1.46 +* TXmlEngElement elem = iDoc.CreateDocumentElementL(_L8("doc"));
1.47 +* ///< create RChunk object with chunkName name and size
1.48 +* RChunk chunk;
1.49 +* chunk.CreateGlobal(chunkName, size, maxSize);
1.50 +* CleanupClosePushL(chunk);
1.51 +* ///< create chunk container from Rchunk object with offset to the
1.52 +* ///< binary data in chunk and binary data size in chunk (binarySize)
1.53 +* TXmlEngChunkContainer binData = iDoc.CreateChunkContainerL(
1.54 +* cid,chunk,offset,binarySize);
1.55 +* ///< append chunkcontainer to the dom tree
1.56 +* TXmlEngNode ref = iDoc.DocumentElement().AppendChildL(binData);
1.57 +* ///< closing all opened objects
1.58 +* CleanupStack::PopAndDestroy();//chunk
1.59 +* iDoc.Close();
1.60 +* domImpl.Close();
1.61 +* @endcode
1.62 +*
1.63 +* @lib XmlEngineDOM.lib
1.64 +* @since S60 v3.2
1.65 +*/
1.66 +class TXmlEngChunkContainer : public TXmlEngDataContainer
1.67 +{
1.68 +public:
1.69 + /**
1.70 + * Get memory chunk reference
1.71 + *
1.72 + * @since S60 v3.2
1.73 + * @return Memory chunk reference
1.74 + *
1.75 + */
1.76 + IMPORT_C RChunk& Chunk() const;
1.77 +
1.78 + /**
1.79 + * Get offset of binary data in memory chunk
1.80 + *
1.81 + * @since S60 v3.2
1.82 + * @return Offset of binary data in memory chunk
1.83 + */
1.84 + IMPORT_C TUint ChunkOffset() const;
1.85 +
1.86 +protected:
1.87 + /**
1.88 + * Default constructor
1.89 + *
1.90 + * @since S60 v3.1
1.91 + */
1.92 + inline TXmlEngChunkContainer();
1.93 +
1.94 + /**
1.95 + * Constructor
1.96 + *
1.97 + * @since S60 v3.1
1.98 + * @param aInternal node pointer
1.99 + */
1.100 + inline TXmlEngChunkContainer(void* aInternal);
1.101 +};
1.102 +
1.103 +
1.104 +
1.105 +#include "xmlengchunkcontainer.inl"
1.106 +
1.107 +#endif /* XMLENGINE_CHUNKCONTAINER_H_INCLUDED */