emailservices/emailservermonitor/src/emailservermonitorutilities.cpp
branchRCL_3
changeset 31 72d484772ca6
parent 0 8466d47a6819
--- 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();
+    }