CMS 3D CMS Logo

MessageServicePresence.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_MessageServicePresence_h
2 #define FWCore_MessageService_MessageServicePresence_h
3 
6 
7 #include "boost/thread/thread.hpp"
8 
9 #include <memory>
10 
11 namespace edm {
12  namespace service {
13 
14  class ThreadQueue;
15 
17  public:
18  // --- birth/death:
20  ~MessageServicePresence() override;
21 
22  private:
23  // --- no copying:
24  MessageServicePresence(MessageServicePresence const&) = delete; // Disallow copying
25  void operator=(MessageServicePresence const&) = delete; // Disallow copying
26 
27  std::shared_ptr<ThreadQueue const> queue() const { return get_underlying_safe(m_queue); }
28  std::shared_ptr<ThreadQueue>& queue() { return get_underlying_safe(m_queue); }
29 
30  // --- data:
32  boost::thread m_scribeThread;
33 
34  }; // MessageServicePresence
35 
36  } // end of namespace service
37 } // namespace edm
38 
39 #endif // FWCore_MessageService_MessageServicePresence_h
service
Definition: service.py:1
edm::service::MessageServicePresence::m_queue
edm::propagate_const< std::shared_ptr< ThreadQueue > > m_queue
Definition: MessageServicePresence.h:31
edm::service::MessageServicePresence::queue
std::shared_ptr< ThreadQueue > & queue()
Definition: MessageServicePresence.h:28
edm::service::MessageServicePresence::m_scribeThread
boost::thread m_scribeThread
Definition: MessageServicePresence.h:32
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::service::MessageServicePresence::queue
std::shared_ptr< ThreadQueue const > queue() const
Definition: MessageServicePresence.h:27
edm::service::MessageServicePresence::MessageServicePresence
MessageServicePresence()
Definition: MessageServicePresence.cc:46
edm::propagate_const
Definition: propagate_const.h:32
Presence.h
edm::get_underlying_safe
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
Definition: get_underlying_safe.h:40
edm::service::MessageServicePresence::operator=
void operator=(MessageServicePresence const &)=delete
edm::service::MessageServicePresence
Definition: MessageServicePresence.h:16
edm::service::MessageServicePresence::~MessageServicePresence
~MessageServicePresence() override
Definition: MessageServicePresence.cc:69
edm::Presence
Definition: Presence.h:21
get_underlying_safe.h
ThreadQueue