![]() |
![]() |
00001 #ifndef FWCore_MessageLogger_MessageSender_h 00002 #define FWCore_MessageLogger_MessageSender_h 00003 00004 #include "FWCore/MessageLogger/interface/ELstring.h" 00005 #include "FWCore/MessageLogger/interface/ELseverityLevel.h" 00006 #include "FWCore/MessageLogger/interface/ErrorObj.h" 00007 #include "FWCore/MessageLogger/interface/ErrorSummaryEntry.h" 00008 00009 #include <map> 00010 00011 // Change log 00012 // 00013 // 1 mf 8/25/08 error summary information for LoggedErrorsSummary() 00014 // 00015 // 2 mf 6/22/09 add severity to LoggedErrorsSummary by using 00016 // ErrorSummaryEntry as map key 00017 // 00018 00019 namespace edm 00020 { 00021 00022 typedef ErrorSummaryEntry ErrorSummaryMapKey; 00023 typedef std::map<ErrorSummaryMapKey, unsigned int>::iterator 00024 ErrorSummaryMapIterator; 00025 00026 class MessageSender 00027 { 00028 public: 00029 // --- birth/death: 00030 MessageSender( ELseverityLevel const & sev, 00031 ELstring const & id, 00032 bool verbatim ); 00033 MessageSender( ELseverityLevel const & sev, 00034 ELstring const & id ); 00035 ~MessageSender(); 00036 00037 // --- stream out the next part of a message: 00038 template< class T > 00039 MessageSender & 00040 operator<< ( T const & t ) 00041 { 00042 (*errorobj_p) << t; 00043 return *this; 00044 } 00045 00046 // static data: // change log 1 00047 static bool errorSummaryIsBeingKept; 00048 static bool freshError; 00049 static std::map<ErrorSummaryMapKey, unsigned int> errorSummaryMap; 00050 00051 private: 00052 // no copying: 00053 MessageSender( MessageSender const & ); 00054 void operator = ( MessageSender const & ); 00055 00056 // data: 00057 ErrorObj * errorobj_p; 00058 00059 }; // MessageSender 00060 00061 00062 } // namespace edm 00063 00064 00065 #endif // FWCore_MessageLogger_MessageSender_h