00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef TEDDY__APPLICATION__BASE_SIMULATION_TIMER__H
00026 #define TEDDY__APPLICATION__BASE_SIMULATION_TIMER__H
00027
00028
00029 #include "Teddy/SysSupport/StdList.h"
00030 #include "Teddy/SysSupport/Timer.h"
00031 #include "Teddy/MixIn/Mutex.h"
00032 #include "Teddy/MixIn/Tick.h"
00033 using namespace Teddy::SysSupport;
00034
00035
00036 namespace Teddy {
00037 namespace Application {
00038
00039
00040 class BaseSimulationTimer
00041 :
00042 public Teddy::MixIn::Mutex,
00043 public Teddy::SysSupport::Timer
00044 {
00045 public:
00046 BaseSimulationTimer();
00047
00048 virtual void tick();
00049
00050 void add ( Teddy::MixIn::Tick *tick );
00051 void remove( Teddy::MixIn::Tick *tick );
00052
00053 protected:
00054 list<Teddy::MixIn::Tick*> ticks;
00055 list<Teddy::MixIn::Tick*> add_list;
00056 list<Teddy::MixIn::Tick*> remove_list;
00057 };
00058
00059
00060 };
00061 };
00062
00063
00064 #endif // TEDDY__APPLICATION__BASE_SIMULATION_TIMER__H
00065