diff -r d38941471f1c -r cb32bcc88bad hwrmhaptics/tsrc/hapticstestplugins/src/plugintimer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hwrmhaptics/tsrc/hapticstestplugins/src/plugintimer.cpp Fri Oct 08 14:33:25 2010 +0300 @@ -0,0 +1,118 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Haptics test adaptation plugin timer implementation +* +*/ + + +#include "plugintimer.h" +#include +#include +#include "hwrmhapticstrace.h" + +// ----------------------------------------------------------------------------- +// CPluginTimer::NewL +// Instantiates a CPluginTimer object. +// Also adds the newly constructed object to active scheduler and starts the +// embedded CTimer through After() method call. +// ----------------------------------------------------------------------------- +// +CPluginTimer* CPluginTimer::NewL( + const TTimeIntervalMicroSeconds32& aInterval, + MHWRMHapticsPluginCallback* aService, + TInt aCommandId, + TUint8 aTransId, + TInt aRetVal, + MPluginTimerCallback* aCallback ) + { + CPluginTimer* self = new( ELeave ) CPluginTimer( 0, aService, aCommandId, aTransId, aRetVal, aCallback ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + CActiveScheduler::Add( self ); + + COMPONENT_TRACE( (_L("HWRM Plugin - CPluginTimer::NewL - Setting timer: %d"), aInterval) ); + + self->After( aInterval ); + + return self; + } + +// ----------------------------------------------------------------------------- +// CPluginTimer::~CPluginTimer +// Destructor +// ----------------------------------------------------------------------------- +// +CPluginTimer::~CPluginTimer() + { + // PCLint demands + iCallback = NULL; + iService = NULL; + } + +// ----------------------------------------------------------------------------- +// CPluginTimer::CPluginTimer +// Constructor +// ----------------------------------------------------------------------------- +// +CPluginTimer::CPluginTimer( TInt aPriority, + MHWRMHapticsPluginCallback* aService, + TInt aCommandId, + TUint8 aTransId, + TInt aRetVal, + MPluginTimerCallback* aCallback ) + : CTimer( aPriority ), + iService( aService ), + iCommandId( aCommandId ), + iTransId( aTransId ), + iRetVal( aRetVal ), + iCallback( aCallback ) + { + // empty + } + +// ----------------------------------------------------------------------------- +// CPluginTimer::ConstructL +// Two-phase (leavable) construction method. Calls the parent class ConstructL. +// ----------------------------------------------------------------------------- +// +void CPluginTimer::ConstructL() + { + CTimer::ConstructL(); + } + +// ----------------------------------------------------------------------------- +// CPluginTimer::RunL +// Active scheduler calls RunL when timer expires. This in turn dispatches the +// further handling to the test stub object through MPluginTimerCallback interface. +// ----------------------------------------------------------------------------- +// +void CPluginTimer::RunL() + { + iCallback->GenericTimerFired( iService, iCommandId, iTransId, iRetVal ); + } + +// ----------------------------------------------------------------------------- +// CPluginTimer::TransId +// Getter method for transaction Id. +// ----------------------------------------------------------------------------- +// +TUint8 CPluginTimer::TransId() const + { + return iTransId; + } + +// End of files