CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
edm::MessageSender Class Reference

#include <MessageSender.h>

Public Member Functions

 MessageSender (ELseverityLevel const &sev, ELstring const &id, bool verbatim)
 
 MessageSender (ELseverityLevel const &sev, ELstring const &id)
 
template<class T >
MessageSenderoperator<< (T const &t)
 
 ~MessageSender ()
 

Static Public Attributes

static bool errorSummaryIsBeingKept = false
 
static std::map
< ErrorSummaryMapKey, unsigned
int > 
errorSummaryMap
 
static bool freshError = false
 

Private Member Functions

 MessageSender (MessageSender const &)
 
void operator= (MessageSender const &)
 

Private Attributes

ErrorObjerrorobj_p
 

Detailed Description

Definition at line 26 of file MessageSender.h.

Constructor & Destructor Documentation

MessageSender::MessageSender ( ELseverityLevel const &  sev,
ELstring const &  id,
bool  verbatim 
)

Definition at line 26 of file MessageSender.cc.

29 : errorobj_p( new ErrorObj(sev,id,verbatim) )
30 {
31  //std::cout << "MessageSender ctor; new ErrorObj at: " << errorobj_p << '\n';
32 }
ErrorObj * errorobj_p
Definition: MessageSender.h:57
MessageSender::MessageSender ( ELseverityLevel const &  sev,
ELstring const &  id 
)

Definition at line 34 of file MessageSender.cc.

36 : errorobj_p( new ErrorObj(sev,id,false) )
37 {
38  //std::cout << "MessageSender ctor; new ErrorObj at: " << errorobj_p << '\n';
39 }
ErrorObj * errorobj_p
Definition: MessageSender.h:57
MessageSender::~MessageSender ( )

Definition at line 45 of file MessageSender.cc.

References benchmark_cfg::cerr, drop, edm::ELwarning, errorobj_p, errorSummaryIsBeingKept, errorSummaryMap, freshError, i, edm::ELextendedID::id, edm::MessageDrop::instance(), combine::key, edm::MessageLoggerQ::MLqLOG(), edm::ELextendedID::module, edm::MessageDrop::moduleContext(), edm::MessageDrop::runEvent, edm::ErrorObj::setContext(), edm::ErrorObj::setModule(), edm::ELextendedID::severity, and edm::ErrorObj::xid().

46 {
47  try
48  {
49  //std::cout << "MessageSender dtor; ErrorObj at: " << errorobj_p << '\n';
50 
51  // surrender ownership of our ErrorObj, transferring ownership
52  // (via the intermediate MessageLoggerQ) to the MessageLoggerScribe
53  // that will (a) route the message text to its destination(s)
54  // and will then (b) dispose of the ErrorObj
55 
57  if (drop) {
58  errorobj_p->setModule(drop->moduleContext()); // change log
60  }
61 #ifdef TRACE_DROP
62  if (!drop) std::cerr << "MessageSender::~MessageSender() - Null drop pointer \n";
63 #endif
64  // change log 1
67  {
68  ELextendedID const & xid = errorobj_p->xid();
69  ErrorSummaryMapKey key (xid.id, xid.module, xid.severity);
71  if (i != errorSummaryMap.end()) {
72  ++(i->second); // same as ++errorSummaryMap[key]
73  } else {
74  errorSummaryMap[key] = 1;
75  }
76  freshError = true;
77  }
78 
80  }
81  catch ( ... )
82  {
83  // nothing to do
84 
85  // for test that removal of thread-involved static works,
86  // simply throw here, then run in trivial_main in totalview
87  // and Next or Step so that the exception would be detected.
88  // That test has been done 12/14/07.
89  }
90 }
int i
Definition: DBlmapReader.cc:9
ELseverityLevel severity
Definition: ELextendedID.h:36
static MessageDrop * instance()
Definition: MessageDrop.cc:65
std::map< ErrorSummaryMapKey, unsigned int >::iterator ErrorSummaryMapIterator
Definition: MessageSender.h:24
ELslProxy< ELwarningGen > const ELwarning
static bool errorSummaryIsBeingKept
Definition: MessageSender.h:47
virtual void setContext(const ELstring &context)
Definition: ErrorObj.cc:170
const ELextendedID & xid() const
Definition: ErrorObj.cc:126
static bool freshError
Definition: MessageSender.h:48
static std::map< ErrorSummaryMapKey, unsigned int > errorSummaryMap
Definition: MessageSender.h:49
std::string moduleContext()
Definition: MessageDrop.cc:246
const int drop
ErrorObj * errorobj_p
Definition: MessageSender.h:57
static void MLqLOG(ErrorObj *p)
list key
Definition: combine.py:13
std::string runEvent
Definition: MessageDrop.h:97
virtual void setModule(const ELstring &module)
Definition: ErrorObj.cc:168
edm::MessageSender::MessageSender ( MessageSender const &  )
private

Member Function Documentation

template<class T >
MessageSender& edm::MessageSender::operator<< ( T const &  t)
inline

Definition at line 40 of file MessageSender.h.

References matplotRender::t.

41  {
42  (*errorobj_p) << t;
43  return *this;
44  }
void edm::MessageSender::operator= ( MessageSender const &  )
private

Member Data Documentation

ErrorObj* edm::MessageSender::errorobj_p
private

Definition at line 57 of file MessageSender.h.

Referenced by ~MessageSender().

bool MessageSender::errorSummaryIsBeingKept = false
static
std::map< ErrorSummaryMapKey, unsigned int > MessageSender::errorSummaryMap
static
bool MessageSender::freshError = false
static