tge/lib/maxsdk40/log.h
2017-04-17 06:17:10 -06:00

96 lines
3.0 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// ----------------
// File ....: log.h
// ----------------
// Author...: Gus Grubba
// Date ....: November 1996
//
// History .: Nov, 27 1996 - Started
//
//-----------------------------------------------------------------------------
#ifndef ERRORLOG_H_DEFINED
#define ERRORLOG_H_DEFINED
#define NO_DIALOG FALSE
#define DISPLAY_DIALOG TRUE
#define SYSLOG_ERROR 0x00000001
#define SYSLOG_WARN 0x00000002
#define SYSLOG_INFO 0x00000004
#define SYSLOG_DEBUG 0x00000008
#define SYSLOG_LIFE_EVER 0
#define SYSLOG_LIFE_DAYS 1
#define SYSLOG_LIFE_SIZE 2
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-- Frame Range
//
class LogSys {
DWORD valTypes;
int logLife;
DWORD logDays;
DWORD logSize;
public:
//-- Maintenance methods -----------------------------------------------
//
// Methods used internally
//-- Queries what log types are enabled
virtual DWORD LogTypes ( ) { return valTypes; }
//-- Sets what log types are enabled
virtual void SetLogTypes ( DWORD types ) { valTypes = types; }
//-- Logging methods ---------------------------------------------------
//
// "type" defines the type of log entry based on LogTypes above.
//
// "dialogue" is DISPLAY_DIALOGUE if you want the message to be displayed
// in a dialogue. The system will determine if displaying a dialogue is
// appropriate based on network rendering mode. If this is just some
// information you don't want a dialogue for, or if you are handling
// the dialogue yourself, just set dialogue to NO_DIALOGUE.
//
//
// "title" is optional. If non NULL, it will be used to define the module
// that originated the log entry (and the title bar in the dialogue).
//
//
virtual void LogEntry ( DWORD type, BOOL dialogue, TCHAR *title, TCHAR *text,... ) = 0;
//-- By turning on quiet mode the log system will not display any dialogues
//-- even if it is not noetwork rendering.
//-- The error will only be written to the log file.
virtual void SetQuietMode( bool quiet ) = 0;
virtual bool GetQuietMode( ) = 0;
//-- Log File Longevity ------------------------------------------------
virtual int Longevity ( ) { return logLife; }
virtual void SetLongevity ( int type ) { logLife = type; }
virtual DWORD LogDays ( ) { return logDays; }
virtual DWORD LogSize ( ) { return logSize; }
virtual void SetLogDays ( DWORD days ) { logDays = days; }
virtual void SetLogSize ( DWORD size ) { logSize = size; }
//-- State -------------------------------------------------------------
virtual void SaveState ( void ) = 0;
virtual void LoadState ( void ) = 0;
};
#endif
//-- EOF: log.h ---------------------------------------------------------------