diff -r 000000000000 -r 307788aac0a8 sipplugins/sippsipsettingsui/src/gssiptimer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sipplugins/sippsipsettingsui/src/gssiptimer.cpp Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,155 @@ +// Copyright (c) 2002-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: Timer for Hight light listbox item Container +// +// + + +// INCLUDE FILES + +#include "gssiptimer.h" +#include "gssippluginlogger.h" + +// LOCAL CONSTANTS AND MACROS +const TInt KTimerPeriod = 6; + + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::NewL() +// ----------------------------------------------------------------------------- +// +CGSSIPTimer* CGSSIPTimer::NewL( const CCoeControl& aContainer, + CListItemDrawer& aListItemDrawer ) + { + __GSLOGSTRING("CGSSIPTimer::NewL" ) + CGSSIPTimer* self = new( ELeave ) CGSSIPTimer( aContainer, aListItemDrawer ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + return self; + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::CGSSIPTimer() +// ----------------------------------------------------------------------------- +// +CGSSIPTimer::CGSSIPTimer( const CCoeControl& aContainer, + CListItemDrawer& aListItemDrawer ) + : iTotal( 0 ), + iContainer ( aContainer ), + iListItemDrawer ( aListItemDrawer ), + iIfStart ( EFalse ) + { + __GSLOGSTRING("CGSSIPTimer::CGSSIPTimer" ) + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::~CGSSIPTimer() +// DestructL. +// ----------------------------------------------------------------------------- +// +CGSSIPTimer::~CGSSIPTimer() + { + __GSLOGSTRING("CGSSIPTimer::~CGSSIPTimer" ) + delete iHeart; + iHeart = NULL; + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::ConstructL() +// ConstructL. +// ----------------------------------------------------------------------------- +// +void CGSSIPTimer::ConstructL() + { + iHeart = CHeartbeat::NewL( CActive::EPriorityStandard ); + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::StartTimer() +// Start a Heart beat. +// ----------------------------------------------------------------------------- +// +void CGSSIPTimer::StartTimer() + { + __GSLOGSTRING("CGSSIPTimer::StartTimer" ) + iTotal = 0; + + if ( !iIfStart ) + { + iIfStart = ETrue; + iHeart->Start( ETwelveOClock, this ); + } + + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::StopTimer() +// Stop a Heart beat. +// ----------------------------------------------------------------------------- +// +void CGSSIPTimer::StopTimer() + { + __GSLOGSTRING("CGSSIPTimer::StopTimer" ) + if (iIfStart ) + { + iHeart->Cancel(); + iIfStart = EFalse; + iTotal = 0; + } + else + { + iListItemDrawer.SetFlags( CTextListItemDrawer::EDisableHighlight ); + iContainer.DrawNow(); + } + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::Beat() +// Count and stop stop. +// ----------------------------------------------------------------------------- +// +void CGSSIPTimer::Beat() + { + iTotal++; + if( iTotal >= KTimerPeriod ) + { + StopTimer(); + iListItemDrawer.SetFlags( CTextListItemDrawer::EDisableHighlight ); + iContainer.DrawNow(); + } + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::Synchronize() +// Synchronize. +// ----------------------------------------------------------------------------- +// +void CGSSIPTimer::Synchronize() + { + return; + } + +// ----------------------------------------------------------------------------- +// CGSSIPTimer::IsStarted() +// IsStarted. +// ----------------------------------------------------------------------------- +// +TBool CGSSIPTimer::IsStarted() const + { + return iIfStart; + } + +// End of File