00001 #if !defined( __ARSTIMER_H__ ) 00002 #define __ARSTIMER_H__ 00003 00004 namespace Ars 00005 { 00008 Uint32 TimerCallback(Uint32 Interval, void* param); 00009 00010 00013 00014 class Timer 00015 { 00016 public: 00019 Timer( MessageClient* pOwner = 0); 00020 00022 virtual ~Timer(void); 00023 00027 void StartTimer(unsigned long int Interval, bool bAutoRestart = false); 00028 00030 void StopTimer(void); 00031 00033 bool IsRunning(void) { return m_TimerID != 0; } 00034 00036 long int GetCount(void) const { return m_iCounter; } 00037 00039 void ResetCount(void) { m_iCounter = 0; } 00040 00043 Uint32 TimerHit(Uint32 Interval); 00044 00045 protected: 00047 SDL_TimerID m_TimerID; 00048 00050 bool m_bAutoRestart; 00051 00053 long int m_iCounter; 00054 00056 MessageClient* m_pOwner; 00057 }; 00058 00059 } 00060 00061 #endif