00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CTIMERMANAGER_HPP_INCLUDED
00020 #define CTIMERMANAGER_HPP_INCLUDED
00021
00022 #include <list>
00023
00024 #include "start_code.hpp"
00025 #include "ePurpose.hpp"
00026 #include "cTimer.hpp"
00027 #include "SINGLETON.hpp"
00028
00029 #define g_pcTimerManager cTimerManager::Get()
00031 namespace SPACE
00032 {
00033 namespace Core
00034 {
00041 class DLL_EXPORT cTimerManager : public TSingleton<cTimerManager>
00042 {
00043 public:
00044 cTimerManager();
00045 ~cTimerManager();
00046
00053 cTimer* Push(void (*_pFunction)(ePurpose _Purpose));
00054
00060 bool Clear();
00061
00067 bool Update();
00068
00070 void PauseAll();
00071
00073 void ResumeAll();
00074 private:
00075 std::list<cTimer*> m_lTimer;
00076 std::list<cTimer*>::iterator m_Iterator;
00077 };
00078 }
00079 }
00080
00081 #endif // CTIMERMANAGER_HPP_INCLUDED