The Gaudi Framework
v30r3 (a5ef0a68)
|
A dual-stage boostrap mechanism is used to ensure an orderly startup of the ApplicationMgr. More...
Public Member Functions | |
StatusCode | getService (const Gaudi::Utils::TypeNameString &typeName, const InterfaceID &iid, IInterface *&pinterface) override |
StatusCode | getService (const Gaudi::Utils::TypeNameString &typeName, IService *&svc, const bool createIf=true) override |
const std::list< IService * > & | getServices () const override |
bool | existsService (const std::string &name) const override |
SmartIF< IService > & | service (const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true) override |
Returns a smart pointer to a service. More... | |
Public Member Functions inherited from implements< ISvcLocator > | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
implements ()=default | |
Default constructor. More... | |
implements (const implements &) | |
Copy constructor (zero the reference count) More... | |
implements & | operator= (const implements &) |
Assignment operator (do not touch the reference count). More... | |
unsigned long | addRef () override |
Reference Interface instance. More... | |
unsigned long | release () override |
Release Interface instance. More... | |
unsigned long | refCount () const override |
Current reference count. More... | |
Additional Inherited Members | |
Public Types inherited from implements< ISvcLocator > | |
using | base_class = implements< Interfaces... > |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces... > |
Typedef to the base of this class. More... | |
using | iids = typename extend_interfaces_base::ext_iids |
Public Types inherited from extend_interfaces< Interfaces... > | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type |
take union of the ext_iids of all Interfaces... More... | |
Protected Attributes inherited from implements< ISvcLocator > | |
std::atomic_ulong | m_refCount |
Reference counter. More... | |
A dual-stage boostrap mechanism is used to ensure an orderly startup of the ApplicationMgr.
If this function is called before the singleton ApplicationMgr instance exists, a BootstrapAppMgr singleton instance is created. This responds to any subsequent requests for services by returning StatusCode::FAILURE, unless the ApplicationMgr singleton instance has been created in the interim. In this case, the BootstrapAppMgr forwards the request to the ApplicationMgr instance. The motivation for this is to handle static object instances where the constructor attempts to locate services and would otherwise instantiate the ApplicationMgr instance in an unorderly manner. This logic requires that the ApplicationMgr instance is created explicitly.
Definition at line 40 of file Bootstrap.cpp.
|
override |
Definition at line 221 of file Bootstrap.cpp.
|
override |
Definition at line 193 of file Bootstrap.cpp.
|
override |
Definition at line 204 of file Bootstrap.cpp.
Definition at line 217 of file Bootstrap.cpp.
|
override |
Returns a smart pointer to a service.
Definition at line 226 of file Bootstrap.cpp.