00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_SCHEDULE_H__
00020 #define __CS_SCHEDULE_H__
00021
00022 class csSchedulePart;
00023
00074 class csSchedule
00075 {
00076 private:
00077
00078 csSchedulePart *first;
00079
00081 void InsertCall(csSchedulePart *part, int afternow);
00083 void RemoveCall(csSchedulePart *prev, csSchedulePart *part);
00084
00085 public:
00087 csSchedule();
00089 ~csSchedule();
00090
00095 void TimePassed(int elapsed_time);
00096
00103 void AddCallback(void (*func)(void*), void *arg, int delay);
00104
00111 void AddRepeatCallback(void (*func)(void*), void *arg, int period);
00112
00117 void RemoveCallback(void (*func)(void*), void *arg, int period);
00118
00123 void RemoveCallback(void (*func)(void*), void *arg);
00124
00134 void RemoveCallback(void *arg);
00135 };
00136
00137 #endif // __CS_SCHEDULE_H__