diff -r 417699dc19c9 -r c7e9f1c97567 xml/legacyminidomparser/xmldom/inc/gmxmlcharacterdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/legacyminidomparser/xmldom/inc/gmxmlcharacterdata.h Mon Sep 13 13:16:40 2010 +0530 @@ -0,0 +1,104 @@ +// Copyright (c) 2001-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: +// + +/** + @file +*/ + +#ifndef __GMXMLCHARACTERDATA_H__ +#define __GMXMLCHARACTERDATA_H__ + +#include + +#include + +class CMDXMLCharacterData : public CMDXMLNode +/** Base class for text sections, such as CDATA sections, comments and processing +instructions, of an XML file. + +Objects with this interface contain text, but cannot have child nodes. +@publishedPartner +@released +*/ +{ +public: + /** Destructor. */ + IMPORT_C virtual ~CMDXMLCharacterData(); + + /** Gets the text of the section. + + @return The text of the section */ + IMPORT_C virtual TDesC& Data(); + + /** Sets the whole of the section text. + + @param aData Text to set + @leave KErrNoMemory Memory allocation failed */ + IMPORT_C virtual void SetDataL( TDesC& aData ); + + /** Gets the length of the section text. + + @return Returns the length of the text */ + IMPORT_C virtual TInt Length(); + + /** Appends text to the section. + + @param aData The text to append. + @leave KErrNoMemory Memory allocation failed */ + IMPORT_C virtual void AppendL( TDesC& aData ); + + /** Inserts text at a specified point in the section. + + @param aInsertPos The position at which to insert the text. 0 means insert + at the start. + @param aData Text to insert + @leave KErrNoMemory Memory allocation failed + @return Returns KErrNone if successful or KErrNotFound if the insert position + is out of range */ + IMPORT_C virtual TInt InsertL( TInt aInsertPos, TDesC& aData ); + + /** Replaces a block of text in the section. + + @param aInsertPos The position at which to insert the text. 0 means insert + at the start. + @param aLength The number of characters to replace + @param aData The text to insert + @leave KErrNoMemory Memory allocation failed + @return Returns KErrNone if successful or KErrNotFoundif the replace block + is out of range */ + IMPORT_C virtual TInt ReplaceL( TInt aInsertPos, TInt aLength, TDesC& aData ); + + + /** Check the children of this node for validity. + + For a character data section, there can be no children so this is always true. + + @return Always true. */ + IMPORT_C virtual TBool CheckChildren(); + +protected: + /* + * Constructor + * @param aNodeType The node type of the derived object + * @param aOwnerDocument The Document at the root of the DOM tree. + */ + CMDXMLCharacterData( TDOMNodeType aNodeType, CMDXMLDocument* aOwnerDocument ); + +private: + HBufC* iData; // Buffer to hold the actual text of the CDATA section +}; + + +#endif