/** Copyright (c) 2005-2007 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: Active transaction stack**/#ifndef C_ACTIVETRANSACTIONSTACK_H#define C_ACTIVETRANSACTIONSTACK_H#include <e32base.h>namespace AiXmlUiController { class MTransaction; class CTransaction; }namespace AiXmlUiController{/*** @ingroup group_xmluicontroller* * CActiveTransactionStack is a stack for CTransactions** @lib AiXmlUiMain*/class CActiveTransactionStack : public CBase {public: // Constructors and destructor static CActiveTransactionStack* NewL(); virtual ~CActiveTransactionStack(); // New functions /** * Checks if stack is empty. * @return ETrue if stack is empty */ TBool IsEmpty() const; /** * Pushes a transaction into the stack. * @param aTransaction the transaction */ void Push( MTransaction* aTransaction ); /** * Pops the topmost transaction from the stack. * @return the topmost transaction from the stack */ MTransaction* Pop(); /** * Returns the topmost transaction from the stack. * @return the topmost transaction from the stack */ MTransaction* Top() const; /** * Lookups a transaction from the stack. * @param aTxId the transaction id of the transaction * @return the transaction with aTxId from the stack */ MTransaction* Lookup( TInt aTxId ) const; /** * Removes a transaction from the stack. * @param aTxId the transaction id of the transaction * @return the transaction with aTxId from the stack */ MTransaction* Remove( TInt aTxId );private: CActiveTransactionStack(); CTransaction* DoTop() const; CTransaction* DoLookup( TInt aTxId ) const;private: // Data /** * Doubly linked list of transactions */ TDblQue< CTransaction > iTransactions; };} // namespace AiXmlUiController#endif // C_ACTIVETRANSACTIONSTACK_H// End of File