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>
61using add_serviceLocator = std::conditional_t<implementation_detail::has_serviceLocator<Base>, Base,
64template <
typename Base>
136 template <
typename Base>
149template <
typename BASE>
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.
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.
virtual void setOutputLevel(int new_level)=0
Set new global output level threshold.
Definition of the MsgStream class used to transmit messages.
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