#ifndef _GLOBALS_H_ #define _GLOBALS_H_ #include "clusapi.h" #include "clusutil.h" #define NAME_LEN 80 #define WM_GOTEVENT WM_USER + 1 #define WM_EXITEVENTTHREAD WM_USER + 2 #define WM_REFRESH WM_USER + 3 // Event Defintions typedef struct { DWORD dwCatagory ; time_t time ; DWORD dwFilter ; DWORD dwSubFilter ; WCHAR szSourceName[NAME_LEN] ; WCHAR szObjectName[NAME_LEN] ; } EVTFILTER_TYPE, *PEVTFILTER_TYPE ; // Event Catagories #define EVENT_CATAGORY_CLUSTER 1 #define EVENT_CATAGORY_CLUSTER_CONSISTENCY 2 // Event filter definitions #define EVENT_FILTER 1 #define EVENT_SUBFILTER 2 // Define Distinct Types of Events. // Events Generated By the clustering system. struct EVENTDEFINITION { DWORD_PTR dwCatagory ; PDWORDTOSTRINGMAP pFilter ; PDWORDTOSUBSTRINGMAP pSubFilter ; WCHAR szCatagory [NAME_LEN] ; WCHAR szFilterPrompt [NAME_LEN] ; WCHAR szSubFilterPrompt [NAME_LEN] ; WCHAR szSourceNamePrompt [NAME_LEN] ; WCHAR szObjectNamePrompt [NAME_LEN] ; } ; typedef EVENTDEFINITION *PEVENTDEFINITION ; struct EVENTTHREADPARAM { HWND hWnd ; CDocument *pDoc ; WCHAR szSourceName [NAME_LEN] ; HANDLE hEvent ; } ; extern CPtrList ptrlstEventDef ; // Clustering Related extern EVENTDEFINITION aClusEventDefinition ; // For Cluster Consistency Checks. #define EVENT_FILTER_CONSISTENCY 1 // -1 in any of the following stands for any value #define SCHEDULE_SUNDAY 1 #define SCHEDULE_MONDAY 2 #define SCHEDULE_TUESDAY 4 #define SCHEDULE_WEDNESDAY 8 #define SCHEDULE_THURSDAY 16 #define SCHEDULE_FRIDAY 32 #define SCHEDULE_SATURDAY 64 // Action Type definitions. #define SCHEDULE_ACTION_COMMAND 1 struct SCHEDULE_TIMEINFO { int iYear ; int iMonth ; int iDay ; int iHour ; int iMin ; int iSec ; int iWeekDay ; CTime ctime ; } ; struct SCHEDULE_EVENTINFO { DWORD_PTR dwCatagory ; DWORD_PTR dwFilter ; DWORD_PTR dwSubFilter ; // online or Offline or Fail or Pause WCHAR szSourceName [NAME_LEN] ; WCHAR szObjectName [NAME_LEN] ; } ; struct SCHEDULE_ACTIONINFO { DWORD_PTR dwActionType ; CString stParam ; } ; struct SCHEDULE_INFO { CTime minTime ; CPtrList lstTimeInfo ; // List of SCHEDULE_TIMEINFO CPtrList lstEventInfo ; // List of SCHEDULE_EVENTINFO CPtrList lstActionInfo ; // List of SCHEDULE_ACTIONINFO } ; extern DWORDTOSTRINGMAP aAction [] ; //extern CTime minTime ; extern HWND hScheduleWnd ; extern UINT_PTR nIDTimer ; extern CPtrList ptrlstSInfo ; // For the modeless dialog to display the event list LPCWSTR GetType (DWORD_PTR dwCatagory, DWORD_PTR dwCode) ; LPCWSTR GetSubType (DWORD_PTR dwCatagory, DWORD dwCode, DWORD dwSubCode) ; extern PEVENTDEFINITION GetEventDefinition (DWORD_PTR dwType) ; // Functions defined in schedule.cpp extern AddSchedule () ; extern ModifySchedule (SCHEDULE_INFO *pSOldInfo) ; extern ScheduleInit () ; extern void ScheduleDeInit() ; extern void ResetTimer () ; extern void FreeEventList (CPtrList &ptrlst) ; extern void FreeActionList (CPtrList &ptrlst) ; extern void FreeTimeList (CPtrList &ptrlst) ; void ComputeAbsoluteTime (SCHEDULE_INFO *pSInfo) ; #endif // _GLOBALS_H_