Gaudi Framework, version v22r2

Home   Generated: Tue May 10 2011
Public Types | Public Member Functions | Protected Attributes

CommonMessaging< BASE > Class Template Reference

Templated class to add the standard messaging functionalities. More...

#include <CommonMessaging.h>

Collaboration diagram for CommonMessaging< BASE >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef CommonMessaging base_class

Public Member Functions

template<typename A1 , typename A2 , typename A3 >
 CommonMessaging (const A1 &a1, const A2 &a2, const A3 &a3)
 Templated constructor with 3 arguments.
template<typename A1 , typename A2 >
 CommonMessaging (const A1 &a1, const A2 &a2)
 Templated constructor with 2 arguments.
template<typename A1 >
 CommonMessaging (const A1 &a1)
 Templated constructor with 1 argument.
 CommonMessaging ()
 Default constructor.
virtual ~CommonMessaging ()
 Virtual destructor.
virtual SmartIF< ISvcLocator > & serviceLocator () const =0
 Needed to locate the message service.
virtual const std::stringname () const =0
 This is needed to avoid ambiguous calls to name()
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service.
MsgStreammsgStream (const MSG::Level level=MSG::INFO) const
 Predefined configurable message stream for the efficient printouts.
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS)
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL)
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR)
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR)
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING)
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO)
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG)
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE)
MsgStreammsg () const
 shortcut for the method msgStream()

Protected Attributes

SmartIF< IMessageSvcm_msgsvc
 Pointer to the message service;.
std::auto_ptr< MsgStreamm_msgStream
 The predefined message stream.
bool m_streamWithService
 Flag to create a new MsgStream if it was created without the message service.

Detailed Description

template<class BASE>
class CommonMessaging< BASE >

Templated class to add the standard messaging functionalities.

Definition at line 23 of file CommonMessaging.h.


Member Typedef Documentation

template<class BASE>
typedef CommonMessaging CommonMessaging< BASE >::base_class

Reimplemented in ApplicationMgr, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, Gaudi::ISignalMonitor >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Service, IGslSvc >, extends1< Service, IIODataManager >, extends1< Service, IPartPropSvc >, extends1< Service, IRunable >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IExceptionSvc >, extends1< Service, IParticlePropertySvc >, extends1< Service, IPoolCacheSvc >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< ComponentManager, IAlgManager >, extends1< Service, IChronoStatSvc >, extends1< DataSvc, IAIDATupleSvc >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, extends2< Service, ITHistSvc, IIncidentListener >, extends2< Service, IFileCatalog, IFileCatalogMgr >, extends2< Service, IAlgContextSvc, IIncidentListener >, extends2< Service, IMonitorSvc, IIncidentListener >, extends2< Service, IProperty, IJobOptionsSvc >, extends2< Service, IHistorySvc, IIncidentListener >, extends2< Service, IMessageSvc, IInactiveMessageCounter >, extends2< ComponentManager, ISvcManager, ISvcLocator >, extends2< Service, IConversionSvc, IAddressCreator >, extends2< Service, IDataProviderSvc, IDataManagerSvc >, extends2< DataSvc, INTupleSvc, IDataSourceMgr >, extends3< Service, IDataProviderSvc, IDataManagerSvc, IPartitionControl >, extends3< Service, IConversionSvc, IPersistencySvc, IAddressCreator >, extends3< Service, IRndmGenSvc, IRndmEngine, ISerialize >, and extends3< Service, IRndmEngine, ISerialize, IIncidentListener >.

Definition at line 25 of file CommonMessaging.h.


Constructor & Destructor Documentation

template<class BASE>
template<typename A1 , typename A2 , typename A3 >
CommonMessaging< BASE >::CommonMessaging ( const A1 &  a1,
const A2 &  a2,
const A3 &  a3 
) [inline]

Templated constructor with 3 arguments.

Definition at line 28 of file CommonMessaging.h.

                                                                                                            :
    BASE(a1,a2,a3), m_streamWithService(false) {}
template<class BASE>
template<typename A1 , typename A2 >
CommonMessaging< BASE >::CommonMessaging ( const A1 &  a1,
const A2 &  a2 
) [inline]

Templated constructor with 2 arguments.

Definition at line 31 of file CommonMessaging.h.

                                                                                 :
    BASE(a1, a2), m_streamWithService(false) {}
template<class BASE>
template<typename A1 >
CommonMessaging< BASE >::CommonMessaging ( const A1 &  a1 ) [inline]

Templated constructor with 1 argument.

Definition at line 34 of file CommonMessaging.h.

                                                      :
    BASE(a1), m_streamWithService(false) {}
template<class BASE>
CommonMessaging< BASE >::CommonMessaging (  ) [inline]

Default constructor.

Definition at line 37 of file CommonMessaging.h.

                   :
    BASE(), m_streamWithService(false) {}
template<class BASE>
virtual CommonMessaging< BASE >::~CommonMessaging (  ) [inline, virtual]

Virtual destructor.

Definition at line 41 of file CommonMessaging.h.

{}

Member Function Documentation

template<class BASE>
MsgStream& CommonMessaging< BASE >::always (  ) const [inline]

shortcut for the method msgStream(MSG::ALWAYS)

Definition at line 90 of file CommonMessaging.h.

{ return msgStream(MSG::ALWAYS); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::debug (  ) const [inline]

shortcut for the method msgStream(MSG::DEBUG)

Definition at line 108 of file CommonMessaging.h.

{ return msgStream(MSG::DEBUG); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::err (  ) const [inline]

shortcut for the method msgStream(MSG::ERROR)

Definition at line 96 of file CommonMessaging.h.

{ return msgStream(MSG::ERROR); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::error (  ) const [inline]

shortcut for the method msgStream(MSG::ERROR)

Definition at line 99 of file CommonMessaging.h.

{ return msgStream(MSG::ERROR); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::fatal (  ) const [inline]

shortcut for the method msgStream(MSG::FATAL)

Definition at line 93 of file CommonMessaging.h.

{ return msgStream(MSG::FATAL); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::info (  ) const [inline]

shortcut for the method msgStream(MSG::INFO)

Definition at line 105 of file CommonMessaging.h.

{ return msgStream(MSG::INFO); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::msg (  ) const [inline]

shortcut for the method msgStream()

Definition at line 114 of file CommonMessaging.h.

{ return msgStream(); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::msgStream ( const MSG::Level  level = MSG::INFO ) const [inline]

Predefined configurable message stream for the efficient printouts.

  if ( a < 0 ) { msgStream( MSG::ERROR ) << "a = " << endmsg ; }
Returns:
Reference to the predefined stream

Definition at line 80 of file CommonMessaging.h.

                                                                    {
    if ((!m_msgStream.get()) || (!m_streamWithService)) {
      SmartIF<IMessageSvc>& ms = msgSvc();
      m_msgStream.reset(new MsgStream(ms, this->name()));
      m_streamWithService = ms.get() != 0;
    }
    return *m_msgStream << level;
  }
template<class BASE>
SmartIF<IMessageSvc>& CommonMessaging< BASE >::msgSvc (  ) const [inline]

The standard message service.

Returns a pointer to the standard message service.

Definition at line 52 of file CommonMessaging.h.

                                              {
    if (!m_msgsvc.get()) {
      // Get default implementation of the message service.
      m_msgsvc = this->serviceLocator();
    }
    return m_msgsvc;
  }
template<class BASE>
virtual const std::string& CommonMessaging< BASE >::name (  ) const [pure virtual]

This is needed to avoid ambiguous calls to name()

Implemented in Service, AlgorithmManager, ApplicationMgr, and ServiceManager.

template<class BASE>
virtual SmartIF<ISvcLocator>& CommonMessaging< BASE >::serviceLocator (  ) const [pure virtual]

Needed to locate the message service.

Implemented in ComponentManager, Service, ApplicationMgr, and ServiceManager.

template<class BASE>
MsgStream& CommonMessaging< BASE >::verbose (  ) const [inline]

shortcut for the method msgStream(MSG::VERBOSE)

Definition at line 111 of file CommonMessaging.h.

{ return msgStream(MSG::VERBOSE); }
template<class BASE>
MsgStream& CommonMessaging< BASE >::warning (  ) const [inline]

shortcut for the method msgStream(MSG::WARNING)

Definition at line 102 of file CommonMessaging.h.

{ return msgStream(MSG::WARNING); }

Member Data Documentation

template<class BASE>
std::auto_ptr<MsgStream> CommonMessaging< BASE >::m_msgStream [mutable, protected]

The predefined message stream.

Definition at line 121 of file CommonMessaging.h.

template<class BASE>
SmartIF<IMessageSvc> CommonMessaging< BASE >::m_msgsvc [mutable, protected]

Pointer to the message service;.

Definition at line 118 of file CommonMessaging.h.

template<class BASE>
bool CommonMessaging< BASE >::m_streamWithService [mutable, protected]

Flag to create a new MsgStream if it was created without the message service.

Definition at line 124 of file CommonMessaging.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Tue May 10 2011 18:54:36 for Gaudi Framework, version v22r2 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004