Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

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, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Service, Gaudi::IIODataManager >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< Service, IRunable >, extends1< Service, IMessageSvc >, 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, Gaudi::IFileCatalog, Gaudi::IFileCatalogMgr >, extends2< Service, IAlgContextSvc, IIncidentListener >, extends2< Service, IMonitorSvc, IIncidentListener >, extends2< Service, IProperty, IJobOptionsSvc >, extends2< Service, IHistorySvc, IIncidentListener >, 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.

00028                                                                                                             :
00029     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.

00031                                                                                  :
00032     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.

00034                                                       :
00035     BASE(a1), m_streamWithService(false) {}

template<class BASE>
CommonMessaging< BASE >::CommonMessaging (  )  [inline]

Default constructor.

Definition at line 37 of file CommonMessaging.h.

00037                    :
00038     BASE(), m_streamWithService(false) {}

template<class BASE>
virtual CommonMessaging< BASE >::~CommonMessaging (  )  [inline, virtual]

Virtual destructor.

Definition at line 41 of file CommonMessaging.h.

00041 {}


Member Function Documentation

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>
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>
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.

00052                                               {
00053     if (!m_msgsvc.get()) {
00054       // Get default implementation of the message service.
00055       m_msgsvc = this->serviceLocator();
00056     }
00057     return m_msgsvc;
00058   }

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.

00080                                                                     {
00081     if ((!m_msgStream.get()) || (!m_streamWithService)) {
00082       SmartIF<IMessageSvc>& ms = msgSvc();
00083       m_msgStream.reset(new MsgStream(ms, this->name()));
00084       m_streamWithService = ms.get() != 0;
00085     }
00086     return *m_msgStream << level;
00087   }

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

shortcut for the method msgStream(MSG::ALWAYS)

Definition at line 90 of file CommonMessaging.h.

00090 { return msgStream(MSG::ALWAYS); }

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

shortcut for the method msgStream(MSG::FATAL)

Definition at line 93 of file CommonMessaging.h.

00093 { return msgStream(MSG::FATAL); }

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

shortcut for the method msgStream(MSG::ERROR)

Definition at line 96 of file CommonMessaging.h.

00096 { 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.

00099 { return msgStream(MSG::ERROR); }

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

shortcut for the method msgStream(MSG::WARNING)

Definition at line 102 of file CommonMessaging.h.

00102 { return msgStream(MSG::WARNING); }

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

shortcut for the method msgStream(MSG::INFO)

Definition at line 105 of file CommonMessaging.h.

00105 { return msgStream(MSG::INFO); }

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

shortcut for the method msgStream(MSG::DEBUG)

Definition at line 108 of file CommonMessaging.h.

00108 { return msgStream(MSG::DEBUG); }

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

shortcut for the method msgStream(MSG::VERBOSE)

Definition at line 111 of file CommonMessaging.h.

00111 { return msgStream(MSG::VERBOSE); }

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

shortcut for the method msgStream()

Definition at line 114 of file CommonMessaging.h.

00114 { return msgStream(); }


Member Data Documentation

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>
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>
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:

Generated at Wed Mar 17 18:16:38 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004