File indexing completed on 2025-08-03 08:20:46
0001
0002 #include "msg_control.h"
0003
0004 int msg_control::xx_active =0;
0005
0006
0007
0008
0009
0010 msg_control::msg_control(const int mtype,
0011 const int source,
0012 const int severity,
0013 const char * sourcecomponent)
0014 {
0015 msg_type = mtype;
0016 msg_source = source;
0017 msg_severity = severity;
0018 storedseverity = severity;
0019 msg_sourcecomponent = new char[strlen(sourcecomponent) + 1 ];
0020 strcpy(msg_sourcecomponent,sourcecomponent);
0021 }
0022
0023 msg_control::~msg_control(){
0024 delete [] msg_sourcecomponent;
0025 };
0026
0027 int
0028 msg_control::activate()
0029 {
0030 int old = xx_active;
0031 xx_active = 1;
0032 return old;
0033 }
0034
0035 int
0036 msg_control::deactivate()
0037 {
0038 int old = xx_active;
0039 xx_active = 0;
0040 return old;
0041 }
0042
0043 void
0044 msg_control::set_sourcecomponent (const char * msgsourcecomponent)
0045 {
0046
0047 delete msg_sourcecomponent;
0048 msg_sourcecomponent = new char[strlen(msgsourcecomponent) + 1 ];
0049 strcpy(msg_sourcecomponent,msgsourcecomponent);
0050
0051
0052 }
0053
0054 void
0055 msg_control::set_severity(const int severity)
0056 {
0057 storedseverity = msg_severity;
0058 msg_severity = severity;
0059 }
0060
0061 OSTREAM& operator<< (OSTREAM& os , msg_control &mc)
0062 {
0063 if (msg_control::xx_active) {
0064 os << "<|A"
0065 << SETW(MSG_TYPE_WIDTH) << mc.msg_type
0066 << " |B "
0067 << SETW(MSG_SOURCE_WIDTH) << mc.msg_source
0068 << " |C "
0069 << SETW(MSG_SEV_WIDTH) << mc.msg_severity
0070 << " |G "
0071 << SETW(strlen(mc.msg_sourcecomponent)+1) << mc.msg_sourcecomponent
0072 << " |>";
0073 }
0074
0075 return os;
0076 }
0077