00001
00036 #ifndef INC_MI32_MILOG_H
00037 #define INC_MI32_MILOG_H
00038
00039 #ifndef INC_MI32_STDDEFNS_H
00040 #include <mi32/stddefns.h>
00041 #endif
00042
00043
00044 class MISTRING;
00045 class FILEPATH;
00046
00047 #ifdef MISYSTEMDLL
00048 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00049 #else
00050 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00051 #endif
00052
00053
00054
00059 class CLASSLIBEXPORT MILOG {
00060 public:
00061
00063 enum MODE {
00064 MODE_NoLog = 0x0000,
00065 MODE_Memory = 0x0001,
00066 MODE_OwnFile = 0x0002,
00067 MODE_SharedFile = 0x0003,
00068 MODE_OnlyInternal = 0x0010,
00069 MODE_OnlyProgrammer = 0x0020,
00070 MODE_OnlyDebug = 0x0040,
00071 MODE_OnlyDV = 0x0080,
00072 MODE_NoChkUserEnabled = 0x0100,
00073 MODE_MASK_Location = 0x000F
00074 };
00075
00077 MILOG ();
00078
00080 ~MILOG ();
00081
00083 void AddText (const char* text);
00084
00086 void AddText (const MISTRING& text);
00087
00092 ERRVALUE Create (
00093 MODE mode,
00094 INT32 MaxLogsMemory = 0
00095 );
00096
00101 const FILEPATH& GetOwnFilePath () const;
00102
00105 const MISTRING& GetString () const;
00106
00108 bool IsActive () const
00109 { return (m_pPriv != 0); }
00110
00114 void SetLabel (
00115 const char *label
00116 );
00117
00118 private:
00119 #ifndef GENERATING_DOXYGEN_OUTPUT
00120 class PRIV;
00121 PRIV *m_pPriv;
00122
00123
00124 MILOG (const MILOG&);
00125 MILOG& operator= (const MILOG&);
00126 #endif
00127 };
00128
00129 #ifndef GENERATING_DOXYGEN_OUTPUT
00130 DEFINE_ENUM_OP_BITWISE(MILOG::MODE)
00131 #endif
00132
00133
00134
00135 #undef CLASSLIBEXPORT
00136
00137 #endif