diff -r 000000000000 -r 094583676ce7 PECengine/CoreUtilsLib2/Src/CPEngDataResultEntry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PECengine/CoreUtilsLib2/Src/CPEngDataResultEntry.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2005 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: Data entry implementation. +* +*/ + +#ifndef __CPENGDATARESULTENTRY_H__ +#define __CPENGDATARESULTENTRY_H__ + +// INCLUDES +#include +#include "CPEngDataResultEntry.h" + + + + +//FORWARD DECLARATION +class RReadStream; +class RWriteStream; +class CPEngTransactionStatus; + + +// CLASS DECLARATION + +/** + * Data entry implementation. + * + * @since 3.0 + */ +NONSHARABLE_CLASS( CPEngDataResultEntry ) : public CBase + { +public: // Constructors and destructor + + /** + * Two-phased constructor. + * Leaves object to CleanupStack. + * + * @since 3.0 + * @param aOperationID Operation ID. + * @param aData The data. Takes the ownership in full success. + * @return New CPEngDataResultEntry object. + */ + static CPEngDataResultEntry* NewLC( TInt aOperationID, + HBufC* aData ); + + /** + * Two-phased constructor, initialises this object from + * given stream and leaves object to CleanupStack. + * + * @since 3.0 + * @aStream The read stream where from to initialize object. + */ + static CPEngDataResultEntry* NewLC( RReadStream& aStream ); + + + /** + * Two-phased constructor, initialises this object from + * given existing detailed result entry. Leaves object + * to CleanupStack. + * + * @since 3.0 + * @aStream The detailed result where from to initialize object. + */ + static CPEngDataResultEntry* NewLC( const CPEngDataResultEntry& aEntry ); + + + /** + * Destructor. + */ + virtual ~CPEngDataResultEntry(); + + + +private: //constructors + + /** + * C++ default constructor. + */ + CPEngDataResultEntry(); + + + /** + * Symbian constructor. + */ + void ConstructL( const CPEngDataResultEntry& aEntry ); + + + +public: // New functions + + /** + * Gets the operation id. + * + * @return The operation id. + */ + TInt Operation() const; + + + /** + * Gets the result data. + * + * @return The result data. + */ + const TDesC16& Data() const; + + + +public: //Streaming support + + /** + * Internalizes this objects state from given + * read stream. + * + * @since 3.0 + * @param aStream The stream to read from. + */ + void InternalizeL( RReadStream& aStream ); + + + /** + * Externalizes this objects state to given write stream. + * + * @since 3.0 + * @param aStream The stream to write to. + */ + void ExternalizeL( RWriteStream& aStream ) const; + + + /** + * Approximates the needed stream length needed to + * externalize the container data. + * + * @since 3.0 + * @return Returns approximation of needed space in bytes. + */ + TInt ExternalizeSize() const; + + + +private: // Friend declarations + + /** + * Friend class. + * @since 3.0 + */ + friend class CPEngTransactionStatus; // CSI: 36 # + + + + +private: // Data + + //OWN: Link + TSglQueLink iLink; + + //OWN: Operation id + TInt iOperationID; + + //OWN: Data result + HBufC16* iData; + + }; + + +#endif // __CPENGDATARESULTENTRY_H__ + + +// End of File + +