![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: scheduler.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtScheduler_H_ 00013 #define DtScheduler_H_ 00014 00015 #include <vlutil/vlList.h> 00016 #include <vrfutil/vlClock.h> 00017 00018 class DtTimer; 00019 class DtSimManager; 00020 00029 #include "vrfcore/vrfcoreDefines.h" 00030 class DT_DLL_vrfcore DtScheduler : public DtIntrusiveList 00031 { 00032 public: 00033 00036 DtScheduler(); 00037 DtScheduler(DtSimManager * simManager); 00038 00040 DtScheduler(const DtScheduler& orig); 00041 00043 DtScheduler& operator=(const DtScheduler& orig); 00044 00046 virtual ~DtScheduler(); 00047 00055 virtual void tick(); 00056 00059 00063 virtual void addTimer(DtTimer *timer); 00064 00067 virtual void removeTimer (DtTimer *timer); 00068 00071 virtual void reset(bool clearAll = false); 00072 00075 void reSort(DtTimer *timer); 00076 00077 protected: 00078 00080 void doPendingResorts(); 00081 00084 void moveToEnd(DtTimer *timer); 00085 00089 bool myInTick; 00090 00091 DtSimManager * mySimManager; 00092 }; 00093 00094 #endif