Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef UTIL_MESSAGE
00019 #define UTIL_MESSAGE
00020
00021
00022
00023 #include "../Util/GlobalDefines.h"
00024 #include "../Util/InlineFunctions.h"
00025
00026
00027
00028 #include <stdio.h>
00029 #include <stdlib.h>
00030 #include <stdarg.h>
00031 #include <string.h>
00032
00033
00034 extern int g_iDebugLevel;
00035
00036 extern bool g_bDebugFile;
00037
00038 extern bool g_bDebug;
00039
00040 extern const char* g_pcDebugFileName;
00041
00042
00043
00044
00045
00046 class CMessage
00047 {
00048
00049 private:
00050
00051
00052
00053 static CRITICAL_SECTION *m_csMessage;
00054
00055 protected:
00056
00057
00058
00059 char m_acClassName[50];
00060 bool m_bDebug;
00061 bool m_bDebugFile;
00062 int m_iDebugLevel;
00063 static double m_fInitTime;
00064 public:
00065
00066
00067
00068
00069
00070
00071 CMessage(void);
00072 CMessage(const char* pcClassName, int iDebugLevel = 0, bool bDebug = true, bool bDebugFile = false);
00073
00074 CMessage(const CMessage& clMessage);
00075
00076 virtual ~CMessage(void);
00077
00078
00079
00080
00081 CMessage& operator=(const CMessage& clMessage);
00082
00083
00084
00085 int getDebugLevel() const;
00086
00087
00088
00089 int initMessage(const char* pcClassName, int iDebuglevel = 0, bool bDebug = true, bool bDebugFile = false);
00090
00091 void setInitTime(void);
00092 void setDebug(bool bFlag);
00093 void setDebugFile(bool bFlag);
00094 void setDebugLevel(int iLevel);
00095
00096 static void setCriticalSection(CRITICAL_SECTION *cs);
00097
00098
00099
00100
00101 void logging(const char *pcLoggingMessage,...);
00102
00103
00104 void debug(const int iDebugLevel,
00105 const char *pcDebugMessage,...) const;
00106
00107
00108 void warning(const char *pcWarningMessage,...) const;
00109
00110
00111 void error(const int iErrorCode,
00112 const char *pcErrorMessage,...) const;
00113 void error(const char *pcErrorMessage,...) const;
00114 };
00115
00116 #endif