www.pudn.com > Example2D.rar > CTiming.cpp


#include "CTiming.h" 
#include "MTimingCall.h" 
#include  
 
const TInt KInterval = 1; 
 
 
 
CTiming* CTiming::NewL( MTimingCall* aTimingCall ) 
	{ 
	CTiming* self = new( ELeave )CTiming( aTimingCall ); 
	CleanupStack::PushL( self ); 
	self->ConstructL(); 
	CleanupStack::Pop( self ); 
	return self; 
	} 
 
 
 
CTiming::~CTiming() 
	{ 
	Cancel(); 
	} 
 
 
 
CTiming::CTiming( MTimingCall* aTimingCall ) 
	: CTimer( CActive::EPriorityLow ) 
	, iTimingCall( aTimingCall ) 
	{ 
 
	} 
 
 
 
void CTiming::ConstructL() 
	{ 
	CTimer::ConstructL(); 
	CActiveScheduler::Add( this ); 
	iRunning = EFalse; 
	} 
 
 
 
void CTiming::RunL() 
	{ 
	iTimingCall->TimingCall(); 
	After( KInterval ); 
	} 
 
 
 
void CTiming::Start() 
	{ 
	if( iRunning ) 
		{ 
		return; 
		} 
	iRunning = ETrue; 
	After( KInterval ); 
	} 
 
 
 
void CTiming::Stop() 
	{ 
	Cancel(); 
	iRunning = EFalse; 
	} 
	 
// End of file