--- /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