memspy/Engine/Include/Sink/MemSpyEngineOutputListItem.h
author hgs
Fri, 27 Aug 2010 11:37:29 +0300
changeset 42 0ff24a8f6ca2
parent 0 a03f92240627
permissions -rw-r--r--
201033

/*
* 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