00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __WVDAILYEVENT_H
00009 #define __WVDAILYEVENT_H
00010
00011 #include "wvstream.h"
00012
00029 class WvDailyEvent : public WvStream
00030
00031 {
00032 public:
00044 WvDailyEvent( int _first_hour, int _num_per_day=0, bool _skip_first=true );
00045
00053 virtual bool pre_select( SelectInfo& si );
00054 virtual bool post_select( SelectInfo& si );
00055
00066 void configure( int _first_hour, int _num_per_day=0, bool _skip_first=true );
00067
00069 void set_num_per_day(int _num_per_day);
00070
00075 void set_hour( int h )
00076 { configure( h, num_per_day ); }
00077
00079 time_t next_event() const;
00080
00081 private:
00082 int first_hour;
00083 int num_per_day;
00084 bool need_reset;
00085 bool skip_first;
00086 time_t prev;
00087
00088 time_t not_until;
00089
00090 public:
00091 const char *wstype() const { return "WvDailyEvent"; }
00092 };
00093
00094 #endif