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 
7 
8 // I believe the below are not needed:
9 
10 #include <memory>
11 
12 #include <iosfwd>
13 #include <vector>
14 #include <map>
15 
16 #include <iostream>
17 
18 namespace edm {
19 namespace service {
20 
21 // ----------------------------------------------------------------------
22 //
23 // MainThreadMLscribe.h
24 //
25 // This class is a concrete of AbstractMessageLoggerScribe
26 // Its purpose exists ONLY if there is a second thread running the workhorse
27 // scrribe. In that case, the workhorse will be consuming from a
28 // SingleConsumerQ, and this class is the one that places the item on said
29 // queue. It does work that used to be the realm of MessageLoggerQ.
30 //
31 // Changes:
32 //
33 // 0 - 8/7/09 Initial version mf and crj
34 //
35 // -----------------------------------------------------------------------
36 
37 class ThreadQueue;
38 
40 {
41 public:
42  // --- birth/death:
43  MainThreadMLscribe(std::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 private:
52 
54 }; // MainThreadMLscribe
55 
56 
57 } // end of namespace service
58 } // namespace edm
59 
60 
61 #endif // FWCore_MessageService_MainThreadMLscribe_h
edm::propagate_const< std::shared_ptr< ThreadQueue > > m_queue
MainThreadMLscribe(std::shared_ptr< ThreadQueue > tqp)
virtual void runCommand(MessageLoggerQ::OpCode opcode, void *operand)