00001 #ifndef tcsmonSchedHandler_H 00002 #define _H 00003 /******************************************************************************* 00004 * E.S.O. - VLT project 00005 * 00006 * "@(#) $Id: tcsmonSchedHandler.h,v 2.38 2003/07/12 21:26:16 vltsccm Exp $" 00007 * 00008 * who when what 00009 * -------- -------- ---------------------------------------------- 00010 * imunoz 2000-07-14 created 00011 */ 00012 00013 /************************************************************************ 00014 * 00015 *---------------------------------------------------------------------- 00016 */ 00017 #include "tcsBASE.h" 00018 #include "tcsSTATE.h" 00019 #include "tcsmonDefines.h" 00020 #include "tcsmonSched.h" 00021 #include "evhTIMER.h" 00022 00023 class tcsmonSchedHandler : public tcsSTATE 00024 { 00025 private: 00026 dbSYMADDRESS path; 00027 tcsmonSched *sched; 00028 evhTIMEOUT *timer; // timer which triggers next logging cycle. 00029 evhTIMER *wd; 00030 ccsTIMEVAL nextEvent; // time for next event if t is not null. 00031 bool running; 00032 00033 protected: 00034 evhCB_COMPL_STAT TimeoutCB(msgMESSAGE &msg, void *); 00035 evhCB_COMPL_STAT WatchdogCB(evtEVENT_MSG &, void*); 00036 public: 00037 tcsmonSchedHandler(const dbSYMADDRESS dbRoot); 00038 ~tcsmonSchedHandler(); 00039 00040 ccsCOMPL_STAT Init(); 00041 ccsCOMPL_STAT Start(); 00042 ccsCOMPL_STAT Stop(); 00043 00044 ccsCOMPL_STAT SetNextEvent(void); 00045 char *Status(); 00046 ccsCOMPL_STAT Recover(void); 00047 00048 }; 00049 #endif