00001 // -*- C++ -*- 00002 // 00003 // Package: MessageLogger 00004 // Class : SilentMLscribe 00005 // 00006 // Implementation: 00007 // <Notes on implementation> 00008 // 00009 // Original Author: Chris Jones 00010 // Created: Thu Jul 30 09:57:57 CDT 2009 00011 // 00012 00013 // system include files 00014 00015 // user include files 00016 #include "FWCore/MessageLogger/interface/SilentMLscribe.h" 00017 #include "FWCore/MessageLogger/interface/ErrorObj.h" 00018 00019 namespace edm { 00020 namespace service { 00021 00022 // 00023 // constants, enums and typedefs 00024 // 00025 00026 // 00027 // static data member definitions 00028 // 00029 00030 // 00031 // constructors and destructor 00032 // 00033 SilentMLscribe::SilentMLscribe() 00034 { 00035 } 00036 00037 // SilentMLscribe::SilentMLscribe(const SilentMLscribe& rhs) 00038 // { 00039 // // do actual copying here; 00040 // } 00041 00042 SilentMLscribe::~SilentMLscribe() 00043 { 00044 } 00045 00046 // 00047 // assignment operators 00048 // 00049 // const SilentMLscribe& SilentMLscribe::operator=(const SilentMLscribe& rhs) 00050 // { 00051 // //An exception safe implementation is 00052 // SilentMLscribe temp(rhs); 00053 // swap(rhs); 00054 // 00055 // return *this; 00056 // } 00057 00058 // 00059 // member functions 00060 // 00061 void 00062 SilentMLscribe::runCommand(MessageLoggerQ::OpCode opcode, void * operand) { 00063 //even though we don't print, have to clean up memory 00064 switch (opcode) { 00065 case MessageLoggerQ::LOG_A_MESSAGE: { 00066 ErrorObj * errorobj_p = static_cast<ErrorObj *>(operand); 00067 delete errorobj_p; 00068 break; 00069 } 00070 case MessageLoggerQ::JOBREPORT: 00071 case MessageLoggerQ::JOBMODE: 00072 case MessageLoggerQ::GROUP_STATS: 00073 { 00074 std::string* string_p = static_cast<std::string*> (operand); 00075 delete string_p; 00076 break; 00077 } 00078 default: 00079 break; 00080 } 00081 } 00082 00083 // 00084 // const member functions 00085 // 00086 00087 // 00088 // static member functions 00089 // 00090 } 00091 }