25#include <boost/thread/tss.hpp>
37 concept has_name =
requires( T
const& t ) { t.name(); };
42 template <
typename Base>
46 virtual const std::string&
name()
const = 0;
49 template <
typename Base>
57template <
typename Base>
60template <
typename Base>
64template <
typename Base>
136 template <
typename Base>
149template <
typename BASE>
190 if (
msgSvc() )
msgSvc()->setOutputLevel( this->name(), level );
193 debug() <<
"Property update for OutputLevel : new value = " << level <<
endmsg;
std::conditional_t< implementation_detail::has_name< Base >, Base, implementation_detail::add_name< Base > > add_name
std::conditional_t< implementation_detail::has_serviceLocator< Base >, Base, implementation_detail::add_serviceLocator< Base > > add_serviceLocator
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
typename conditional< _Cond, _Iftrue, _Iffalse >::type conditional_t
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & msgStream(const MSG::Level level) const
Predefined configurable message stream for the efficient printouts.
MsgStream & verbose() const
shortcut for the method msgStream(MSG::VERBOSE)
MsgStream & warning() const
shortcut for the method msgStream(MSG::WARNING)
friend class CommonMessaging
const SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
MsgStream & fatal() const
shortcut for the method msgStream(MSG::FATAL)
MsgStream & err() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & msgStream() const
Return an uninitialized MsgStream.
boost::thread_specific_ptr< MsgStream > m_msgStream
The predefined message stream.
virtual ~CommonMessagingBase()=default
Virtual destructor.
virtual void create_msgStream() const =0
cold functionality
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
bool msgLevel(MSG::Level lvl) const
get the output level from the embedded MsgStream
virtual MSG::Level setUpMessaging() const =0
bool m_commonMessagingReady
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
SmartIF< IMessageSvc > m_msgsvc
Pointer to the message service;.
MsgStream & always() const
shortcut for the method msgStream(MSG::ALWAYS)
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
MSG::Level setUpMessaging() const override final
Set up local caches.
void initMessaging() const
Initialise the messaging objects.
MSG::Level resetMessaging()
Reinitialize internal states.
void create_msgStream() const override final
cold functionality
CommonMessaging base_class
void updateMsgStreamOutputLevel(int level)
Update the output level of the cached MsgStream.
Definition of the MsgStream class used to transmit messages.
GAUDI_API MsgStream(IMessageSvc *svc, int buffer_length=128)
Standard constructor: Connect to message service for output.
Small smart pointer class with automatic reference counting for IInterface.
Templated class to add the standard messaging functionalities.
virtual const std::string & name() const =0
virtual ~add_name()=default
virtual SmartIF< ISvcLocator > & serviceLocator() const =0
virtual ~add_serviceLocator()=default