00001 #line 204 "./lpsrc/flx_demux.pak"
00002 #ifndef __FLX_DEMUX_TIMER_QUEUE_H__
00003 #define __FLX_DEMUX_TIMER_QUEUE_H__
00004
00005 #include <flx_demux_config.hpp>
00006
00007 namespace flx { namespace demux {
00008
00009
00010
00011
00012
00013
00014 class DEMUX_EXTERN sleep_task
00015 {
00016 public:
00017 virtual ~sleep_task() {}
00018
00019 virtual void fire() = 0;
00020 };
00021
00022 class DEMUX_EXTERN timer_queue
00023 {
00024 public:
00025 virtual ~timer_queue() {}
00026
00027 virtual void add_sleep_request(sleep_task* st, double delta) = 0;
00028 virtual void add_abs_sleep_request(sleep_task* st, double when) = 0;
00029
00030
00031
00032 static void get_time(double& t);
00033 };
00034
00035 DEMUX_EXTERN timer_queue *mk_timer_queue();
00036
00037 }}
00038
00039 #endif
00040