00001 #if !defined(__MCMSG_H_)
00002 #define __MCMSG_H_
00003
00004 #ident "@(#)$Id: MCMsg.h,v 1.4 2004/12/02 07:05:20 mike Exp $"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "mcllib/MCString.h"
00026
00027 namespace mcllib
00028 {
00039 class MCMsg
00040 {
00041 public:
00043 typedef unsigned long msgcode_t;
00045 static msgcode_t MSGCODE_NONE;
00047 static msgcode_t MSGCODE_MIN;
00049 static msgcode_t MSGCODE_MAX;
00050
00051 typedef unsigned long msglevel_t;
00055 static msglevel_t MSGLVL_ALL;
00062 static msglevel_t MSGLVL_FATAL;
00066 static msglevel_t MSGLVL_ERROR;
00068 static msglevel_t MSGLVL_WARNING;
00069 static msglevel_t MSGLVL_WARN;
00071 static msglevel_t MSGLVL_INFO;
00073 static msglevel_t MSGLVL_DEBUG;
00075 static msglevel_t MSGLVL_DEBUG_L1;
00077 static msglevel_t MSGLVL_DEBUG_L2;
00079 static msglevel_t MSGLVL_DEBUG_L3;
00081 static msglevel_t MSGLVL_DEBUG_L4;
00082
00093 MCMsg(const MCString& msg, msglevel_t msgLevel = MSGLVL_ALL,
00094 msgcode_t msgCode = MSGCODE_NONE);
00096 virtual ~MCMsg();
00097
00102 const MCString& getString() const;
00107 const MCString& getLevelString() const;
00113 static const MCString& getLevelString(msglevel_t lvl);
00118 msglevel_t getLevel() const;
00123 const MCString& getCodeString() const;
00129 static const MCString& getCodeString(msgcode_t code);
00134 msgcode_t getCode() const;
00139 virtual MCString getText() const;
00140
00141 protected:
00142 MCString m_msg;
00143 msglevel_t m_msgLevel;
00144 msgcode_t m_msgCode;
00145 };
00146 };
00147
00148 #endif