diff -r 6ca72c0fe49a -r a941bc465d9f presadap12/Parser2/SrcXmlSerializer/TPEngWriter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presadap12/Parser2/SrcXmlSerializer/TPEngWriter.h Wed Sep 01 12:31:13 2010 +0100 @@ -0,0 +1,118 @@ +/* +* Copyright (c) 2004 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: Content writer for the XML Serializer. +* +*/ + +#ifndef __TPENGWRITER_H__ +#define __TPENGWRITER_H__ + +// INCLUDES +#include + + + +// CLASS DECLARATION +/** + * Content writer for the XML Serializer. + * + * Simple class encapsulating the overflow + * safe handling of the write buffer. + * + * @lib PEngParser.lib + * @since 2.1 + */ +NONSHARABLE_CLASS( TPEngWriter ) + { + +public: // Constructor and destructor + + /** + * C++ constructor. + * @param aBuffer Reference to buffer where + * to write. + */ + TPEngWriter( TDes8& aBuffer ); + + +public: //New buffer handling methods + + + /** + * Writes text to destination + * buffer. Leaves with KErrOverflow + * if the passed aText doesn't fit in the + * buffer. Returns TPtrC8 pointing to text + * just wrote to the buffer. + * (Returned pointer descriptor stays valid + * untill the text is reversed beoynd the + * start position of current write operation.) + * + * @since 2.1 + * @param aText Text to write. + * @return Pointer descriptor pointing to + * just written text. (Pointer descriptor + * stays valid until the buffer is reversed + * beyond the text's start position.) + */ + const TPtrC8 WriteL( const TDesC8& aText ); + + + /** + * Writes a character to destination + * buffer. Leaves with KErrOverflow + * if the character doesn't fit in the + * buffer. + * + * @since 2.1 + * @param aCharacter Character to write. + */ + void WriteL( TUint8 aCharacter ); + + + + /** + * Gets the write buffers current length. + * + * @since 2.1 + * @return Write buffers current length. + */ + TInt CurrentLength(); + + + /** + * Reverses the write buffer to required + * length. + * + * If required length aLength is greater + * than current buffer length, + * returns KErrUnderflow. Else returns KErrNone. + * + * @since 2.1 + * @param aLength Length to reverse to. + * @return KErrNone or KErrUnderflow. + */ + TInt ReverseTo( TInt aLength ); + + + +protected: // Data + + ///