diff -r 3104fc151679 -r 9a48e301e94b servicewidget/servicewidgetdatapublisher/src/cservicewidgettimer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/servicewidget/servicewidgetdatapublisher/src/cservicewidgettimer.cpp Wed Sep 01 12:33:36 2010 +0100 @@ -0,0 +1,127 @@ +/* +* 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 "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: Event listener implementation presence +* +*/ + +// INCLUDE FILES +#include "cservicewidgettimer.h" +#include "mservicewidgetobservers.h" +//system includes +#include +#include "swpdebugtrace.h" +// ================= MEMBER FUNCTIONS ======================= +// -------------------------------------------------------------------------- +// CServiceWidgetTimer::CServiceWidgetTimer +// -------------------------------------------------------------------------- +// +CServiceWidgetTimer::CServiceWidgetTimer( MServiceWidgetTimerObserver& aObserver ) + : CActive( CActive::EPriorityStandard ), + iObserver( aObserver ) + { + CActiveScheduler::Add( this ); + } + +// -------------------------------------------------------------------------- +// CServiceWidgetTimer::ConstructL +// -------------------------------------------------------------------------- +// +void CServiceWidgetTimer::ConstructL() + { + TRACE_SWP(TXT("CServiceWidgetTimer::ConstructL() start") ); + User::LeaveIfError( iTimer.CreateLocal() ); + TRACE_SWP(TXT("CServiceWidgetTimer::ConstructL() end") ); + } + + +// -------------------------------------------------------------------------- +// CServiceWidgetTimer::NewL +// -------------------------------------------------------------------------- +// +CServiceWidgetTimer* CServiceWidgetTimer::NewL(MServiceWidgetTimerObserver& aObserver ) + { + TRACE_SWP(TXT("CServiceWidgetTimer::NewL() start") ); + CServiceWidgetTimer* self = new(ELeave) CServiceWidgetTimer( aObserver ); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + TRACE_SWP(TXT("CServiceWidgetTimer::NewL() end") ); + return self; + } +// --------------------------------------------------------- +// CServiceWidgetTimer::~CServiceWidgetTimer() +// C++ Destructor +// --------------------------------------------------------- +// +CServiceWidgetTimer::~CServiceWidgetTimer() + { + TRACE_SWP(TXT("CServiceWidgetTimer::~CServiceWidgetTimer() start") ); + Cancel(); // Cancel any request, if outstanding + iTimer.Close(); // Destroy the RTimer object + TRACE_SWP(TXT("CServiceWidgetTimer::~CServiceWidgetTimer() end") ); + } +// --------------------------------------------------------- +// CServiceWidgetTimer::RunL() +// --------------------------------------------------------- +// +void CServiceWidgetTimer::RunL() + { + TRACE_SWP(TXT("CServiceWidgetTimer::RunL() start") ); + if( iStatus.Int() == KErrNone ) + { + iObserver.HandleTimerExpiredL(); + } + TRACE_SWP(TXT("CServiceWidgetTimer::RunL() end") ); + } +// --------------------------------------------------------- +// CServiceWidgetTimer::RunL() +// --------------------------------------------------------- +// +void CServiceWidgetTimer::DoCancel() + { + TRACE_SWP(TXT("CServiceWidgetTimer::DoCancel() start") ); + iTimer.Cancel(); + TRACE_SWP(TXT("CServiceWidgetTimer::DoCancel() end") ); + } +// --------------------------------------------------------- +// CServiceWidgetTimer::StartListening() +// --------------------------------------------------------- +// +void CServiceWidgetTimer::StartListening(TTimeIntervalMicroSeconds32 anInterval) + { + TRACE_SWP(TXT("CServiceWidgetTimer::StartListening() start") ); + if(!IsActive() ) + { + iTimer.After ( iStatus, anInterval ); + SetActive (); // Tell scheduler a request is active + } + TRACE_SWP(TXT("CServiceWidgetTimer::StartListening() end") ); + } +// --------------------------------------------------------- +// CServiceWidgetTimer::StopListening() +// --------------------------------------------------------- +// +void CServiceWidgetTimer::StopListening() + { + TRACE_SWP(TXT("CServiceWidgetTimer::StopListening() start") ); + if(IsActive() ) + { + Cancel(); + } + TRACE_SWP(TXT("CServiceWidgetTimer::StopListening() end") ); + } + +// End of File + +