Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
InertMessageSvc.h
Go to the documentation of this file.
1 #ifndef MESSAGESVC_INERTMESSAGESVC_H
2 #define MESSAGESVC_INERTMESSAGESVC_H 1
3 // Include files
4 // FW
5 #include "MessageSvc.h"
6 // C++
7 #include <functional>
8 #include <memory>
9 #include <thread>
10 // External libs
11 #include "tbb/concurrent_queue.h"
12 
26 class InertMessageSvc : public MessageSvc {
27 public:
30 
32  StatusCode initialize() override;
33 
35  StatusCode finalize() override;
36 
38 
40  void reportMessage( const Message& msg ) override;
41 
43  void reportMessage( const Message& msg, int outputLevel ) override;
44 
46  void reportMessage( const StatusCode& code, const std::string& source = "" ) override;
47 
48 private:
49  void m_activate();
50  void m_deactivate();
51  bool m_isActive = false;
52 
53  tbb::concurrent_bounded_queue<std::function<void()>> m_messageActionsQueue;
54 
56 };
57 
58 #endif // MESSAGESVC_INERTMESSAGESVC_H
StatusCode initialize() override
Initialization of the service.
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
Thread safe extension to the standard MessageSvc.
void reportMessage(const Message &msg) override
Implementation of IMessageSvc::reportMessage()
MessageSvc(const std::string &name, ISvcLocator *svcloc)
Definition: MessageSvc.cpp:78
std::thread m_thread
StatusCode finalize() override
Finalization of the service.
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
void reportMessage(const Message &message) override
Definition: MessageSvc.cpp:406
tbb::concurrent_bounded_queue< std::function< void()> > m_messageActionsQueue
The Message class.
Definition: Message.h:17
int outputLevel() const override
Definition: MessageSvc.cpp:563
STL class.