diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SIP/TransactionUser/src/TimerBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SIP/TransactionUser/src/TimerBase.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,110 @@ +/* +* Copyright (c) 2006-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: +* Name : TimerBase.h +* Part of : TransactionUser +* Version : SIP/6.0 +* +*/ + + + + +/** + @internalComponent +*/ + + +#ifndef TIMERBASE_H +#define TIMERBASE_H + +// INCLUDES +#include "Lwtimer.h" +#include + + +// CLASS DECLARATION + +/** + * CTimerBase is a base class for all transaction related timers. + */ +class CTimerBase : public CBase + { +public: // Destructor + + virtual ~CTimerBase(); + +public: // New functions + + /** + * Stops the timer. + */ + void Stop(); + +protected: // Constructors + + /** + * Creates a timer and starts it. + * + * Note: since there isn't a StartL() function in the CTimerBase, so if + * the timer is stopped, it can't be restarted. + * + * @param aTimerMgr Timer subsystem + * @param aObserver Callback for handling timer expiration. Ownership is + * not transferred. + * @param aDuration Timer duration, in milliseconds + */ + CTimerBase(MTimerManager& aTimerMgr, + MExpirationHandler* aObserver, + TUint32 aDuration); + + void ConstructL(); + +protected: // Data + + // Provides timer services + MTimerManager& iTimerMgr; + + // Timer expiration handler. CTimerBase doesn't implement MExpirationHandler + // itself as it does not know which transaction or UA owns it. Not owned. + MExpirationHandler* iObserver; + + // Timer identifier + TTimerId iId; + + // Timer duration in milliseconds + TUint32 iDuration; + +#ifdef CPPUNIT_TEST + friend class CNormalCTa_Trying_Test; + friend class CNormalCTa_Proceeding_Test; + friend class CNormalCTa_Completed_Test; + friend class CNormalSTa_Trying_Test; + friend class CNormalSTa_Proceeding_Test; + friend class CNormalSTa_Completed_Test; + friend class CInviteUAC_Start_Test; + friend class CInviteUAC_ResolveAddress_Test; + friend class CInviteUAC_WaitResponse_Test; + friend class CInviteUAC_WaitAckFromApp_Test; + friend class CInviteUAC_ResolveAckAddress_Test; + friend class CInviteUAC_SendingAck_Test; + friend class CInviteCTa_Calling_Test; + friend class CInviteCTa_Completed_Test; + friend class CTransactionUser_Test; +#endif + }; + +#endif // end of TIMERBASE_H + +// End of File