memspy/Engine/Include/Sink/MemSpyEngineOutputListItem.h
changeset 0 a03f92240627
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/memspy/Engine/Include/Sink/MemSpyEngineOutputListItem.h	Tue Feb 02 01:57:15 2010 +0200
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+#ifndef MEMSPYENGINEOUTPUTLISTITEM_H
+#define MEMSPYENGINEOUTPUTLISTITEM_H
+
+// System includes
+#include <e32base.h>
+
+
+NONSHARABLE_CLASS( CMemSpyEngineOutputListItem ) : public CBase
+    {
+    friend class CMemSpyEngineOutputList;
+
+public:
+    static CMemSpyEngineOutputListItem* NewLC( const CMemSpyEngineOutputListItem& aCopyMe );
+    static CMemSpyEngineOutputListItem* NewLC( const TDesC& aCaption );
+    static CMemSpyEngineOutputListItem* NewLC( const TDesC& aCaption, const TDesC& aValue );
+    static CMemSpyEngineOutputListItem* NewLC( const TDesC& aCaption, TUint aValue );
+    static CMemSpyEngineOutputListItem* NewHexLC( const TDesC& aCaption, TUint aValue );
+    static CMemSpyEngineOutputListItem* NewDecimalLC( const TDesC& aCaption, TInt aValue );
+    static CMemSpyEngineOutputListItem* NewLongLC( const TDesC& aCaption, const TInt64& aValue );
+    static CMemSpyEngineOutputListItem* NewYesNoLC( const TDesC& aCaption, TBool aYes );
+    static CMemSpyEngineOutputListItem* NewTrueFalseLC( const TDesC& aCaption, TBool aTrue );
+    static CMemSpyEngineOutputListItem* NewOnOffLC( const TDesC& aCaption, TBool aOn );
+    static CMemSpyEngineOutputListItem* NewPercentageLC( const TDesC& aCaption, TInt aOneHundredPercentValue, TInt aValue );
+    ~CMemSpyEngineOutputListItem();
+
+private:
+    CMemSpyEngineOutputListItem();
+    void ConstructL( const TDesC& aCaption, const TDesC& aValue );
+
+public: // API
+    inline const TDesC& Caption() const { return *iCaption; }
+    inline const TDesC& Value() const { return *iValue; }
+    inline const TDesC& Combined() const { return *iCombined; }
+    void UpdateCombinedL();
+
+public:
+    void SetValueL( const TDesC& aValue );
+    void SetHexL( TUint aValue );
+    void SetDecimalL( TInt aValue );
+    void SetUnsignedL( TUint aValue );
+    void SetLongL( const TInt64& aValue );
+    void SetYesNoL( TBool aYes );
+    void SetTrueFalseL( TBool aTrue );
+    void SetOnOffL( TBool aOn );
+    void SetPercentageL( TInt aOneHundredPercentValue, TInt aValue );
+
+private:
+    HBufC* iCaption;
+    HBufC* iValue;
+    HBufC* iCombined;
+    };
+
+
+
+#endif
\ No newline at end of file