diff -r e1b6206813b4 -r 72d484772ca6 emailservices/emailservermonitor/src/emailservermonitorutilities.cpp --- a/emailservices/emailservermonitor/src/emailservermonitorutilities.cpp Fri Feb 19 22:37:30 2010 +0200 +++ b/emailservices/emailservermonitor/src/emailservermonitorutilities.cpp Fri Mar 12 15:41:14 2010 +0200 @@ -105,3 +105,113 @@ return EFalse; } + + +///////////////////////////////////////////////////////////////////////////////// +// GENERIC TIMER +// + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::NewL +// NewL function. Returns timer object. +// ----------------------------------------------------------------------------- +// +CEmailServerMonitorTimer* CEmailServerMonitorTimer::NewL( + MEmailServerMonitorTimerCallback* aCallback, + const TInt aPriority ) + { + FUNC_LOG; + CEmailServerMonitorTimer* self = NewLC( aCallback, aPriority ); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::NewL +// NewL function. Returns timer object. +// ----------------------------------------------------------------------------- +// +CEmailServerMonitorTimer* CEmailServerMonitorTimer::NewLC( + MEmailServerMonitorTimerCallback* aCallback, + const TInt aPriority ) + { + FUNC_LOG; + CEmailServerMonitorTimer* self = new (ELeave) CEmailServerMonitorTimer( aCallback, aPriority ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::NewL +// NewL function. Returns timer object. +// ----------------------------------------------------------------------------- +// +void CEmailServerMonitorTimer::ConstructL() + { + FUNC_LOG; + CTimer::ConstructL(); + CActiveScheduler::Add( this ); + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::~CEmailServerMonitorTimer +// D'tor +// ----------------------------------------------------------------------------- +// +CEmailServerMonitorTimer::~CEmailServerMonitorTimer() + { + FUNC_LOG; + Cancel(); + iCallback = NULL; + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::CEmailServerMonitorTimer +// C'tor +// ----------------------------------------------------------------------------- +// +CEmailServerMonitorTimer::CEmailServerMonitorTimer( + MEmailServerMonitorTimerCallback* aCallback, + const TInt aPriority ) + : CTimer( aPriority ), + iCallback( aCallback ) + { + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::RunL +// Timer trigger function. +// ----------------------------------------------------------------------------- +// +void CEmailServerMonitorTimer::RunL() + { + FUNC_LOG; + if ( iCallback ) + { + iCallback->TimerEventL( this ); + } + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::Start +// Timer starting function. +// ----------------------------------------------------------------------------- +// +void CEmailServerMonitorTimer::Start( TInt aInterval ) + { + FUNC_LOG; + Cancel(); + After( TTimeIntervalMicroSeconds32( aInterval ) ); + } + +// ----------------------------------------------------------------------------- +// CEmailServerMonitorTimer::Stop +// Timer stopping function +// ----------------------------------------------------------------------------- +// +void CEmailServerMonitorTimer::Stop() + { + FUNC_LOG; + Cancel(); + }