45 #if !defined( GAUDI_V22_API ) || defined( G22_NEW_SVCLOCATOR )    49                            const bool createIf = 
true ) 
override;
    68   if ( !s_appmgrInstance ) {
    70     s_svclocInstance = s_appmgrInstance;
    72   return s_appmgrInstance.
get();
    82   return iif ? iif.as<
IAppMgrUI>().
get() : 
nullptr;
   102   if ( !s_svclocInstance ) {
   105       s_svclocInstance = iappmgr;
   106       if ( s_svclocInstance ) 
return s_svclocInstance;
   119   return s_svclocInstance;
   127   s_svclocInstance         = newInstance;
   128   s_appmgrInstance         = s_svclocInstance;
   137   s_appmgrInstance       = newInstance;
   138   s_svclocInstance       = s_appmgrInstance;
   147   IInterface* ii = ObjFactory::create( factname, 
nullptr );
   149   IService* is = Service::Factory::create( factname, name, 
nullptr );
   151   IAlgorithm* ia = Algorithm::Factory::create( factname, name, 
nullptr );
   154   void* libHandle   = 
nullptr;
   157     ii = ObjFactory::create( factname, 
nullptr );
   159     is = Service::Factory::create( factname, name, 
nullptr );
   161     ia = Algorithm::Factory::create( factname, name, 
nullptr );
   195 #if !defined( GAUDI_V22_API ) || defined( G22_NEW_SVCLOCATOR )   200   if ( s_appmgrInstance ) {
   201     sc = s_svclocInstance->
getService( typeName, iid, pinterface );
   203     pinterface = s_bootInterface.
get();
   208                                               const bool createIf )
   211   if ( s_appmgrInstance ) {
   212     sc = s_svclocInstance->
getService( typeName, svc, createIf );
   214     svc = s_bootService.
get();
   222   return s_appmgrInstance ? s_svclocInstance->
getServices() : s_bootServices;
   226   return s_appmgrInstance && s_svclocInstance->
existsService( name );
   231   return s_appmgrInstance ? s_svclocInstance->
service( typeName, createIf ) : s_bootService;
   234 #ifdef GAUDI_HASCLASSVISIBILITY   235 #pragma GCC visibility push( default )   239 #define PyHelper( x ) py_bootstrap_##x   254   return prop ? prop->
getProperty( name ).toString().c_str() : 
nullptr;
   268 #define PyFSMHelper( s )                                                                                               \   269   bool py_bootstrap_fsm_##s( IInterface* i )                                                                           \   271     auto fsm = SmartIF<IStateful>( i );                                                                                \   272     return fsm && fsm->s().isSuccess();                                                                                \   284 #ifdef GAUDI_HASCLASSVISIBILITY   285 #pragma GCC visibility pop 
int PyHelper() ROOT_VERSION_CODE()
Base class used to implement the interfaces. 
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Implementation of property with value of concrete type. 
bool isSuccess() const 
Test for a status code of SUCCESS. 
bool existsService(const std::string &name) const  override
~BootSvcLocator() override=default
bool PyHelper() addPropertyToCatalogue(IInterface *p, char *comp, char *name, char *value)
virtual bool existsService(const std::string &name) const  =0
Check the existence of a service given a service name. 
const std::list< IService * > & getServices() const  override
virtual StatusCode getProperty(Gaudi::Details::PropertyBase *p) const  =0
Get the property by property. 
GAUDI_API IAppMgrUI * createApplicationMgrEx(const std::string &dllname, const std::string &factname)
const char *PyHelper() getProperty(IInterface *p, char *name)
virtual StatusCode addPropertyToCatalogue(const std::string &client, const Gaudi::Details::PropertyBase &property)=0
Add a property into the JobOptions catalog. 
TYPE * get() const 
Get interface pointer. 
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name. 
virtual StatusCode setProperty(const Gaudi::Details::PropertyBase &p)=0
Set the property by property. 
Helper class to parse a string of format "type/name". 
GAUDI_API ISvcLocator * svcLocator()
SmartIF< IService > & service(const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true) override
Returns a smart pointer to a service. 
General service interface definition. 
This class is used for returning status codes from appropriate routines. 
Definition of the basic interface. 
virtual StatusCode getService(const Gaudi::Utils::TypeNameString &typeName, IService *&svc, const bool createIf=true)
Get a reference to the service given a service name. 
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
The IAlgorithm is the interface implemented by the Algorithm base class. 
Application Manager User Interface. 
GAUDI_API ISvcLocator * setInstance(ISvcLocator *newInstance)
Set new instance of service locator. 
StatusCode getService(const Gaudi::Utils::TypeNameString &typeName, const InterfaceID &iid, IInterface *&pinterface) override
virtual const std::list< IService * > & getServices() const  =0
Get a reference to a service and create it if it does not exists. 
A dual-stage boostrap mechanism is used to ensure an orderly startup of the ApplicationMgr. 
SmartIF< IFace > make_SmartIF(IFace *iface)
GAUDI_API const std::string getLastErrorString()
Get last system error as string. 
virtual StatusCode executeRun(int maxevt)=0
Process the maxevt events as a Run (beginRun() and endRun() called) 
std::string typeName(const std::type_info &typ)
virtual StatusCode configure()=0
Configure the job. 
bool PyHelper() configureApp(IInterface *app)
Helper functions to set/get the application return code. 
GAUDI_API IInterface * createInstance(const std::string &name, const std::string &factname, const std::string &ddlname)
GAUDI_API IAppMgrUI * createApplicationMgr(const std::string &dllname, const std::string &factname)
GAUDI_API unsigned long loadDynamicLib(const std::string &name, ImageHandle *handle)
Load dynamic link library.