diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/xml/dom/xmlengchunkcontainer.h --- a/epoc32/include/xml/dom/xmlengchunkcontainer.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/xml/dom/xmlengchunkcontainer.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,104 +1,91 @@ -/* -* Copyright (c) 2006-2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* 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 -* which accompanies this distribution, and is available -* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: All memory chunk data functions -* -*/ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// All memory chunk data functions +// - - - +/** + @file + @publishedAll + @released +*/ +#ifndef XMLENGCHUNKCONTAINER_H +#define XMLENGCHUNKCONTAINER_H -#ifndef XMLENGINE_CHUNKCONTAINER_H_INCLUDED -#define XMLENGINE_CHUNKCONTAINER_H_INCLUDED - -#include "xmlengdatacontainer.h" +#include /** -* Instance of TXmlEngChunkContainer class represents data stored in RChunks in DOM tree -* -* RChunk data is treated in general as text nodes in DOM tree. -* Some of the fields in xmlNode structure are reused in order to save memory. -* Data is stored in memory referenced to by RChunk. -* -* Sample code for creating chunk container: -* @code -* RXmlEngDOMImplementation domImpl; -* domImpl.OpenL(); ///< opening DOM implementation object -* RXmlEngDocument iDoc; -* ///< create document element -* TXmlEngElement elem = iDoc.CreateDocumentElementL(_L8("doc")); -* ///< create RChunk object with chunkName name and size -* RChunk chunk; -* chunk.CreateGlobal(chunkName, size, maxSize); -* CleanupClosePushL(chunk); -* ///< create chunk container from Rchunk object with offset to the -* ///< binary data in chunk and binary data size in chunk (binarySize) -* TXmlEngChunkContainer binData = iDoc.CreateChunkContainerL( -* cid,chunk,offset,binarySize); -* ///< append chunkcontainer to the dom tree -* TXmlEngNode ref = iDoc.DocumentElement().AppendChildL(binData); -* ///< closing all opened objects -* CleanupStack::PopAndDestroy();//chunk -* iDoc.Close(); -* domImpl.Close(); -* @endcode -* -* @lib XmlEngineDOM.lib -* @since S60 v3.2 +This class stores a reference to a RChunk handle within the DOM tree. No +ownership is tranferred and the client is expected to close the RChunk when it +is no longer required. Multiple chunk containers can refer to the same RChunk, +regardless of whether the offsets overlap. + +This class is most often instantiated by calling +RXmlEngDocument::CreateChunkContainerL(). + +Sample code for creating chunk container: +@code + RXmlEngDOMImplementation domImpl; + domImpl.OpenL(); // opening DOM implementation object + RXmlEngDocument iDoc; + // create document element + TXmlEngElement elem = iDoc.CreateDocumentElementL(_L8("doc")); + // create RChunk object with chunkName name and size + RChunk chunk; + chunk.CreateGlobal(chunkName, size, maxSize); + CleanupClosePushL(chunk); + // create chunk container from Rchunk object with offset to the + // binary data in chunk and binary data size in chunk (binarySize) + TXmlEngChunkContainer binData = iDoc.CreateChunkContainerL( + cid,chunk,offset,binarySize); + // append chunkcontainer to the dom tree + TXmlEngNode ref = iDoc.DocumentElement().AppendChildL(binData); + // closing all opened objects + CleanupStack::PopAndDestroy(); //chunk + iDoc.Close(); + domImpl.Close(); +@endcode */ class TXmlEngChunkContainer : public TXmlEngDataContainer { public: - /** - * Get memory chunk reference - * - * @since S60 v3.2 - * @return Memory chunk reference - * - */ + /** Get memory chunk reference + @return Memory chunk reference + */ IMPORT_C RChunk& Chunk() const; - /** - * Get offset of binary data in memory chunk - * - * @since S60 v3.2 - * @return Offset of binary data in memory chunk - */ + /** Get offset of binary data in memory chunk + @return Offset of binary data in memory chunk + */ IMPORT_C TUint ChunkOffset() const; protected: - /** - * Default constructor - * - * @since S60 v3.1 - */ + /** Default constructor */ inline TXmlEngChunkContainer(); /** - * Constructor - * - * @since S60 v3.1 - * @param aInternal node pointer - */ + Constructor + @param aInternal node pointer + */ inline TXmlEngChunkContainer(void* aInternal); }; -#include "xmlengchunkcontainer.inl" +#include -#endif /* XMLENGINE_CHUNKCONTAINER_H_INCLUDED */ +#endif /* XMLENGCHUNKCONTAINER_H */ +