www.pudn.com > Example2D.rar > CTiming.cpp
#include "CTiming.h" #include "MTimingCall.h" #includeconst 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