00001
00030 #ifndef INC_MI32_SESSIONLOG_H
00031 #define INC_MI32_SESSIONLOG_H
00032
00033 #ifndef INC_MI32_STDDEFNS_H
00034 #include <mi32/stddefns.h>
00035 #endif
00036
00037 #ifdef MISYSTEMDLL
00038 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00039 #else
00040 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00041 #endif
00042
00043 class MISTRING;
00044 class FILEPATH;
00045
00046 class CLASSLIBEXPORT SESSIONLOG {
00047 public:
00048
00054 static void AppendText (
00055 const MISTRING& text
00056 );
00057
00059 static const char* GetAppName ();
00060
00062 static void Initialize (
00063 const char *AppName
00064 );
00065
00067 static void Initialize (
00068 const char *AppName,
00069 const FILEPATH& path
00070 );
00071
00073 static void ReportBuildTime (
00074 const MISTRING& name,
00075 const char *datestr = __DATE__,
00076 const char *timestr = __TIME__
00077 );
00078
00080 static void ReportFileLine (
00081 const char *namestr,
00082 INT32 line
00083 );
00084
00086 static void Terminate (
00087 bool IsNormal
00088 );
00089 };
00090
00091
00092 #undef CLASSLIBEXPORT
00093
00094
00095 #ifdef ENABLELOGLINE
00096 #define LOGLINE SESSIONLOG::ReportFileLine(__FILE__,__LINE__);
00097 #else
00098 #define LOGLINE
00099 #endif
00100
00101 #endif // INC_MI32_SESSIONLOG_H