00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "TimeOutTimer.h"
00013
00014
00015
00016
00017 CTimeOutTimer::CTimeOutTimer( const TInt aPriority,
00018 MTimeoutNotifier& aNotify)
00019 : CTimer( aPriority ), iNotify( aNotify )
00020 {
00021
00022 }
00023
00024
00025 CTimeOutTimer::~CTimeOutTimer()
00026 {
00027 }
00028
00029
00030
00031
00032
00033
00034 void CTimeOutTimer::ConstructL()
00035 {
00036 CTimer::ConstructL();
00037 CActiveScheduler::Add( this );
00038 }
00039
00040
00041
00042
00043
00044
00045 CTimeOutTimer* CTimeOutTimer::NewL( const TInt aPriority,
00046 MTimeoutNotifier& aNotify )
00047 {
00048 CTimeOutTimer* self = CTimeOutTimer::NewLC( aPriority, aNotify );
00049 CleanupStack::Pop( self );
00050 return self;
00051 }
00052
00053
00054
00055
00056
00057
00058 CTimeOutTimer* CTimeOutTimer::NewLC( const TInt aPriority,
00059 MTimeoutNotifier& aNotify )
00060 {
00061 CTimeOutTimer* self = new (ELeave) CTimeOutTimer( aPriority, aNotify );
00062 CleanupStack::PushL( self );
00063 self->ConstructL();
00064 return self;
00065 }
00066
00067
00068
00069
00070
00071
00072 void CTimeOutTimer::RunL()
00073 {
00074 if( iStatus == KErrNone )
00075 {
00076 iNotify.TimerExpired();
00077 }
00078 else
00079 {
00080 User::Leave(iStatus.Int());
00081 }
00082 }
00083
00084 TInt CTimeOutTimer::RunError( TInt )
00085 {
00086 return KErrNone;
00087 }
00088
00089