28 for ( InterfaceList::iterator it = m_interfaceList.begin() ;
29 m_interfaceList.end() != it ; ++it )
31 if ( !it->first.versionMatch ( riid ) ) { continue ; }
123 return m_propertyMgr->getProperty(p);
136 return m_propertyMgr->getProperty(
n,v);
162 if(jos->setMyProperties(
name(),
this ).isFailure()) {
180 const std::string& name,
183 : m_outputLevel ( MSG::
NIL )
186 , m_parent ( parent )
190 , m_pMonitorSvc ( NULL )
192 , m_interfaceList ( )
194 , m_pAuditorSvc ( 0 )
195 , m_auditInit ( false )
196 , m_auditorInitialize(false)
197 , m_auditorStart(false)
198 , m_auditorStop(false)
199 , m_auditorFinalize(false)
200 , m_auditorReinitialize(false)
201 , m_auditorRestart(false)
218 if (
Algorithm* _alg = dynamic_cast<Algorithm*> ( _p ) )
224 else if (
Service* _svc = dynamic_cast<Service*> ( _p ) )
230 else if (
AlgTool* _too = dynamic_cast<AlgTool*> ( _p ) )
236 else if (
Auditor* _aud = dynamic_cast<Auditor*> ( _p ) )
245 (
"Failure to create tool '"
246 + type +
"/" + name +
"': illegal parent type '"
253 if ( !
appMgr.isValid() ) {
254 throw GaudiException(
"Could not locate ApplicationMgr",
"AlgTool",0);
289 log <<
MSG::FATAL <<
" Exception with tag=" << Exception.
tag()
290 <<
" is caught " <<
endmsg;
293 catch(
const std::exception& Exception ) {
333 log <<
MSG::FATAL <<
" Exception with tag=" << Exception.
tag()
334 <<
" is caught " <<
endmsg;
337 catch(
const std::exception& Exception ) {
375 log <<
MSG::FATAL <<
" Exception with tag=" << Exception.
tag()
376 <<
" is caught " <<
endmsg;
379 catch(
const std::exception& Exception ) {
417 log <<
MSG::FATAL <<
" Exception with tag=" << Exception.
tag()
418 <<
" is caught " <<
endmsg;
421 catch(
const std::exception& Exception ) {
449 <<
"sysReinitialize(): cannot reinitialize tool not initialized"
464 log <<
MSG::FATAL <<
" Exception with tag=" << Exception.
tag()
465 <<
" is caught" <<
endmsg;
468 catch(
const std::exception& Exception ) {
514 <<
"sysRestart(): cannot reinitialize tool not started"
530 log <<
MSG::FATAL <<
" Exception with tag=" << Exception.
tag()
531 <<
" is caught" <<
endmsg;
534 catch(
const std::exception& Exception ) {
583 void** ppSvc)
const {
585 return helper.
getService(svcName, createIf, iid, ppSvc);
591 const std::string& svcName,
593 void** ppSvc)
const {
600 return helper.
service(name, quiet, createIf);
Definition of the MsgStream class used to transmit messages.
an helper to share the implementation of service() among the various kernel base classes $Id: ...
StatusCode setProperty(const Property &p)
set the property form another property
Define general base for Gaudi exception.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
bool isSuccess() const
Test for a status code of SUCCESS.
GAUDI_API Property * getProperty(const IProperty *p, const std::string &name)
simple function which gets the property with given name from the component
Property manager helper class.
bool isFailure() const
Test for a status code of FAILURE.
GAUDI_API bool isGaudiThreaded(const std::string &name)
test if current Gaudi object is running /will run in a thread
Gaudi::InterfaceId< IInterface, 0, 0 > iid
Interface ID.
virtual void declareUpdateHandler(PropertyCallbackFunctor *pf)
set new callback for update
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
The IMessage is the interface implemented by the message service.
StatusCode getProperty(Property *p) const
get the property
virtual const std::string & tag() const
name tag for the exception, or exception type
const TYPE & value() const
explicit conversion
virtual bool assign(const Property &source)
get the value from another property
Base class from which all concrete algorithm classes should be derived.
const std::vector< Property * > & getProperties() const
get all properties
Property base class allowing Property* collections to be "homogeneous".
virtual unsigned long release()=0
Release Interface instance.
State GAUDI_API ChangeState(const Transition transition, const State state)
Function to get the new state according to the required transition, checking if the transition is all...
virtual unsigned long addRef()=0
Increment the reference count of Interface instance.
SmartIF< IService > service(const std::string &name, const bool quiet=false, const bool createIf=true) const
This is a number of static methods for bootstrapping the Gaudi framework.
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
The interface implemented by the IAuditorSvc base class.
Base class for all services.
GAUDI_API std::string getGaudiThreadIDfromName(const std::string &name)
helper function to extract Gaudi Thread ID from thread copy name
virtual void undeclareAll(const IInterface *owner)=0
Undeclare monitoring information.
StatusCode getService(const std::string &name, bool createIf, const InterfaceID &iid, void **ppSvc) const
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
GAUDI_API std::string getGaudiThreadGenericName(const std::string &name)
helper function to extract Gaudi instance name from thread copy name
StatusCode createService(const std::string &name, const InterfaceID &iid, void **ppSvc) const
Base class from which all concrete auditor classes should be derived.