CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MainThreadMLscribe.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_MainThreadMLscribe_h
2 #define FWCore_MessageService_MainThreadMLscribe_h
3 
6 
7 // I believe the below are not needed:
8 
9 #include "boost/shared_ptr.hpp"
10 
11 #include <iosfwd>
12 #include <vector>
13 #include <map>
14 
15 #include <iostream>
16 
17 namespace edm {
18 namespace service {
19 
20 // ----------------------------------------------------------------------
21 //
22 // MainThreadMLscribe.h
23 //
24 // This class is a concrete of AbstractMessageLoggerScribe
25 // Its purpose exists ONLY if there is a second thread running the workhorse
26 // scrribe. In that case, the workhorse will be consuming from a
27 // SingleConsumerQ, and this class is the one that places the item on said
28 // queue. It does work that used to be the realm of MessageLoggerQ.
29 //
30 // Changes:
31 //
32 // 0 - 8/7/09 Initial version mf and crj
33 //
34 // -----------------------------------------------------------------------
35 
36 class ErrorLog;
37 class ThreadQueue;
38 
40 {
41 public:
42  // --- birth/death:
43  MainThreadMLscribe(boost::shared_ptr<ThreadQueue> tqp);
44  virtual ~MainThreadMLscribe();
45 
46  // --- receive and act on messages:
47  virtual
48  void runCommand(MessageLoggerQ::OpCode opcode, void * operand);
49 
50 
51  // --- obtain a pointer to the errorlog
53 
54 private:
55 
57  boost::shared_ptr<ThreadQueue> m_queue;
58 }; // MainThreadMLscribe
59 
60 
61 } // end of namespace service
62 } // namespace edm
63 
64 
65 #endif // FWCore_MessageService_MainThreadMLscribe_h
MainThreadMLscribe(boost::shared_ptr< ThreadQueue > tqp)
virtual void runCommand(MessageLoggerQ::OpCode opcode, void *operand)
boost::shared_ptr< ThreadQueue > m_queue