Gaudi Framework, version v23r0 |
Home | Generated: Mon Jan 30 2012 |
#include <AuditorSvc.h>
Public Types | |
typedef std::list< IAuditor * > | ListAudits |
typedef std::vector< std::string > | VectorName |
Public Member Functions | |
virtual StatusCode | initialize () |
virtual StatusCode | finalize () |
virtual void | before (StandardEventType, INamedInterface *) |
The following methods are meant to be implemented by the child class... | |
virtual void | before (StandardEventType, const std::string &) |
Audit the start of a standard "event" for callers that do not implement INamedInterface. | |
virtual void | before (CustomEventTypeRef, INamedInterface *) |
Audit the start of a custom "event". | |
virtual void | before (CustomEventTypeRef, const std::string &) |
Audit the start of a custom "event" for callers that do not implement INamedInterface. | |
virtual void | after (StandardEventType, INamedInterface *, const StatusCode &) |
Audit the end of a standard "event". | |
virtual void | after (StandardEventType, const std::string &, const StatusCode &) |
Audit the end of a standard "event" for callers that do not implement INamedInterface. | |
virtual void | after (CustomEventTypeRef, INamedInterface *, const StatusCode &) |
Audit the end of a custom "event". | |
virtual void | after (CustomEventTypeRef, const std::string &, const StatusCode &) |
Audit the end of a custom "event" for callers that do not implement INamedInterface. | |
virtual void | beforeInitialize (INamedInterface *ini) |
virtual void | afterInitialize (INamedInterface *ini) |
virtual void | beforeReinitialize (INamedInterface *ini) |
virtual void | afterReinitialize (INamedInterface *ini) |
virtual void | beforeExecute (INamedInterface *ini) |
virtual void | afterExecute (INamedInterface *ini, const StatusCode &) |
virtual void | beforeBeginRun (INamedInterface *ini) |
virtual void | afterBeginRun (INamedInterface *ini) |
virtual void | beforeEndRun (INamedInterface *ini) |
virtual void | afterEndRun (INamedInterface *ini) |
virtual void | beforeFinalize (INamedInterface *ini) |
virtual void | afterFinalize (INamedInterface *ini) |
virtual bool | isEnabled () const |
Tell if the auditor is enabled or not. | |
virtual StatusCode | sysInitialize () |
Initialize Service. | |
virtual StatusCode | sysFinalize () |
Finalize Service. | |
virtual IAuditor * | getAuditor (const std::string &name) |
management functionality: retrieve an Auditor | |
AuditorSvc (const std::string &name, ISvcLocator *svc) | |
virtual | ~AuditorSvc () |
Private Member Functions | |
IAuditor * | newAuditor_ (MsgStream &, const std::string &) |
IAuditor * | findAuditor_ (const std::string &) |
StatusCode | syncAuditors_ () |
Private Attributes | |
VectorName | m_audNameList |
ListAudits | m_pAudList |
bool | m_isEnabled |
Definition at line 19 of file AuditorSvc.h.
typedef std::list<IAuditor*> AuditorSvc::ListAudits |
Definition at line 24 of file AuditorSvc.h.
typedef std::vector<std::string> AuditorSvc::VectorName |
Definition at line 25 of file AuditorSvc.h.
AuditorSvc::AuditorSvc | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Definition at line 99 of file AuditorSvc.cpp.
: base_class(name, svc) { declareProperty("Auditors", m_audNameList ); declareProperty("Enable", m_isEnabled = true); m_pAudList.clear(); }
AuditorSvc::~AuditorSvc | ( | ) | [virtual] |
Definition at line 107 of file AuditorSvc.cpp.
{ }
void AuditorSvc::after | ( | StandardEventType | , |
INamedInterface * | , | ||
const StatusCode & | sc | ||
) | [virtual] |
Audit the end of a standard "event".
Implements IAuditor.
Definition at line 177 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->after(evt,obj,sc); } } }
void AuditorSvc::after | ( | StandardEventType | , |
const std::string & | , | ||
const StatusCode & | sc | ||
) | [virtual] |
Audit the end of a standard "event" for callers that do not implement INamedInterface.
Implements IAuditor.
Definition at line 186 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->after(evt,name,sc); } } }
void AuditorSvc::after | ( | CustomEventTypeRef | , |
INamedInterface * | , | ||
const StatusCode & | sc | ||
) | [virtual] |
Audit the end of a custom "event".
Implements IAuditor.
Definition at line 195 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->after(evt,obj,sc); } } }
void AuditorSvc::after | ( | CustomEventTypeRef | , |
const std::string & | , | ||
const StatusCode & | sc | ||
) | [virtual] |
Audit the end of a custom "event" for callers that do not implement INamedInterface.
Implements IAuditor.
Definition at line 204 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->after(evt,name,sc); } } }
virtual void AuditorSvc::afterBeginRun | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::afterEndRun | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
void AuditorSvc::afterExecute | ( | INamedInterface * | , |
const StatusCode & | |||
) | [virtual] |
Implements IAuditor.
Definition at line 227 of file AuditorSvc.cpp.
{ throw GaudiException("The method afterExecute is obsolete do not call it.", "AuditorSvc::afterExecute" , StatusCode::FAILURE); }
virtual void AuditorSvc::afterFinalize | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::afterInitialize | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::afterReinitialize | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
void AuditorSvc::before | ( | StandardEventType | , |
const std::string & | |||
) | [virtual] |
Audit the start of a standard "event" for callers that do not implement INamedInterface.
Implements IAuditor.
Definition at line 149 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->before(evt,name); } } }
void AuditorSvc::before | ( | CustomEventTypeRef | , |
INamedInterface * | |||
) | [virtual] |
Audit the start of a custom "event".
Implements IAuditor.
Definition at line 158 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->before(evt,obj); } } }
void AuditorSvc::before | ( | StandardEventType | evt, |
INamedInterface * | obj | ||
) | [virtual] |
The following methods are meant to be implemented by the child class...
Implements IAuditor.
Definition at line 140 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->before(evt,obj); } } }
void AuditorSvc::before | ( | CustomEventTypeRef | , |
const std::string & | |||
) | [virtual] |
Audit the start of a custom "event" for callers that do not implement INamedInterface.
Implements IAuditor.
Definition at line 167 of file AuditorSvc.cpp.
{ if (!isEnabled()) return; for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->before(evt,name); } } }
virtual void AuditorSvc::beforeBeginRun | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::beforeEndRun | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::beforeExecute | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::beforeFinalize | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::beforeInitialize | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
virtual void AuditorSvc::beforeReinitialize | ( | INamedInterface * | ) | [virtual] |
Implements IAuditor.
StatusCode AuditorSvc::finalize | ( | ) | [virtual] |
Reimplemented from Service.
Definition at line 125 of file AuditorSvc.cpp.
{ for (ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); it++) { if((*it)->isEnabled()) { (*it)->sysFinalize().ignore(); } (*it)->release(); } m_pAudList.clear(); // Finalize this specific service return Service::finalize(); }
IAuditor * AuditorSvc::findAuditor_ | ( | const std::string & | name ) | [private] |
Definition at line 49 of file AuditorSvc.cpp.
{ // find an auditor by name, return 0 on error IAuditor* aud = 0; const std::string item_name = Gaudi::Utils::TypeNameString(name).name(); for ( ListAudits::iterator it = m_pAudList.begin() ; it != m_pAudList.end(); ++it ) { if ( (*it)->name() == item_name ) { (*it)->addRef(); aud = *it; break; } } return aud; }
IAuditor * AuditorSvc::getAuditor | ( | const std::string & | name ) | [virtual] |
management functionality: retrieve an Auditor
Implements IAuditorSvc.
Definition at line 254 of file AuditorSvc.cpp.
{ // by interactively setting properties, auditors might be out of sync if ( !syncAuditors_().isSuccess() ) { // as we didn't manage to sync auditors, the safest bet is to assume the // worse... // So don't let clients play with an AuditorSvc in an inconsistent state return 0; } // search available auditors, returns 0 on error return findAuditor_( name ); }
StatusCode AuditorSvc::initialize | ( | ) | [virtual] |
Reimplemented from Service.
Definition at line 113 of file AuditorSvc.cpp.
{ StatusCode sc = Service::initialize(); if ( sc.isFailure() ) return sc; // create auditor objects for all named auditors sc = syncAuditors_(); return sc; }
bool AuditorSvc::isEnabled | ( | ) | const [virtual] |
Tell if the auditor is enabled or not.
Implements IAuditor.
Definition at line 242 of file AuditorSvc.cpp.
{ return m_isEnabled; }
IAuditor * AuditorSvc::newAuditor_ | ( | MsgStream & | log, |
const std::string & | name | ||
) | [private] |
Definition at line 25 of file AuditorSvc.cpp.
{ // locate the auditor factory, instantiate a new auditor, initialize it IAuditor* aud = 0; StatusCode sc; Gaudi::Utils::TypeNameString item(name) ; aud = PluginService::Create<IAuditor*>( item.type(), item.name(), serviceLocator().get() ); if ( aud ) { aud->addRef(); if ( m_targetState >= Gaudi::StateMachine::INITIALIZED ) { sc = aud->sysInitialize(); if ( sc.isFailure() ) { log << MSG::WARNING << "Failed to initialize Auditor " << name << endmsg; aud->release(); aud = 0; } } } else { log << MSG::WARNING << "Unable to retrieve factory for Auditor " << name << endmsg; } return aud; }
StatusCode AuditorSvc::syncAuditors_ | ( | ) | [private] |
Definition at line 64 of file AuditorSvc.cpp.
{ if ( m_audNameList.size() == m_pAudList.size() ) return StatusCode::SUCCESS; MsgStream log( msgSvc(), name() ); StatusCode sc; // if ( sc.isFailure() ) { // log << MSG::ERROR << "Unable to locate ObjectManager Service" << endmsg; // return sc; // } // create all declared Auditors that do not yet exist for ( VectorName::iterator it = m_audNameList.begin(); it != m_audNameList.end(); it++ ) { // this is clumsy, but the PropertyMgr won't tell us when my property changes right // under my nose, so I'll have to figure this out the hard way if ( !findAuditor_( *it ) ) { // if auditor does not yet exist IAuditor* aud = newAuditor_( log, *it ); if ( aud != 0 ) { m_pAudList.push_back( aud ); } else { log << MSG::ERROR << "Error constructing Auditor " << *it << endmsg; sc = StatusCode::FAILURE; } } } return sc; }
StatusCode AuditorSvc::sysFinalize | ( | ) | [virtual] |
Finalize Service.
Reimplemented from Service.
Definition at line 249 of file AuditorSvc.cpp.
{ return Service::sysFinalize(); }
StatusCode AuditorSvc::sysInitialize | ( | ) | [virtual] |
Initialize Service.
Reimplemented from Service.
Definition at line 246 of file AuditorSvc.cpp.
{ return Service::sysInitialize(); }
VectorName AuditorSvc::m_audNameList [private] |
Definition at line 104 of file AuditorSvc.h.
bool AuditorSvc::m_isEnabled [private] |
Definition at line 110 of file AuditorSvc.h.
ListAudits AuditorSvc::m_pAudList [private] |
Definition at line 107 of file AuditorSvc.h.