#ifndef __HISTORY_H #define __HISTORY_H /////////////////////////////////////////////////////////////////////////////// /* File: history.h Description: To prevent the watchdog from excessive repeate notifications, the system administrator can set a minimum period for notification silence. This class (CHistory) manages the reading of this setting along with remembering the last time an action occured. A client of the object is able to ask it if a given action should be performed on the basis of past actions. CHistory Revision History: Date Description Programmer -------- --------------------------------------------------- ---------- 07/01/97 Initial creation. BrianAu */ /////////////////////////////////////////////////////////////////////////////// #ifndef __DSKQUOTA_REG_PARAMS_H # include "regparam.h" #endif class CPolicy; class CHistory { public: CHistory(CPolicy& policy); ~CHistory(VOID) { }; BOOL ShouldPopupDialog(VOID); BOOL ShouldSendEmail(VOID); BOOL ShouldDoAnyNotifications(VOID); VOID RecordDialogPoppedUp(VOID); VOID RecordEmailSent(VOID); private: RegParamTable m_RegParams; CPolicy& m_policy; // To get min email/popup periods. static VOID GetSysTime(LPFILETIME pftOut); static INT CalcDiffMinutes(const FILETIME& ftA, const FILETIME& ftB); // // Registry parameter value names. // static const TCHAR SZ_REG_LAST_NOTIFY_EMAIL_TIME[]; static const TCHAR SZ_REG_LAST_NOTIFY_POPUP_TIME[]; // // Prevent copy. // CHistory(const CHistory& rhs); CHistory& operator = (const CHistory& rhs); }; #endif //__HISTORY_H