Service loader in the architecture. More...
Public Member Functions | |
| void | loadApplicationServices (IApplication *) override |
| Loads available application services. | |
| void | loadSessionServices (ISession *) override |
| Loads available session services. | |
| void | loadSubDomainServices (ISubDomain *parent) override |
| Loads available subdomain services in the subdomain sd. | |
| void | loadModules (ISubDomain *sd, bool all_modules) override |
| Loads available modules. | |
| void | initializeModuleFactories (ISubDomain *sd) override |
| Calls the initialization methods for module factories. | |
| bool | loadSingletonService (ISubDomain *sd, const String &name) override |
| Loads the subdomain singleton service with name name. | |
| Public Member Functions inherited from Arcane::IServiceLoader | |
| virtual | ~IServiceLoader ()=default |
| Releases resources. | |
Private Member Functions | |
| void | _loadServices (IApplication *application, const ServiceBuildInfoBase &sbib) |
| Loads services in the base manager. | |
| SingletonServiceInstanceRef | _createSingletonInstance (IServiceMng *sm, IServiceInfo *si, const ServiceBuildInfoBase &sbi) |
Additional Inherited Members | |
| Public Types inherited from Arcane::IServiceLoader | |
| typedef IServiceFactory *(* | CreateServiceFactoryFunc) (IServiceInfo *) |
| Type of a function that returns a factory for a given service. | |
Service loader in the architecture.
Definition at line 45 of file ServiceLoader.cc.
| Arcane::ServiceLoader::ServiceLoader | ( | ) |
Definition at line 78 of file ServiceLoader.cc.
|
override |
Definition at line 86 of file ServiceLoader.cc.
|
private |
Definition at line 139 of file ServiceLoader.cc.
|
private |
Loads services in the base manager.
Definition at line 226 of file ServiceLoader.cc.
References Arcane::IServiceInfo::factoryInfo(), Arcane::IServiceFactoryInfo::isAutoload(), Arcane::IServiceFactoryInfo::isSingleton(), Arcane::IApplication::serviceFactories2(), Arcane::Internal::IServiceFactory2::serviceInfo(), Arcane::IBase::serviceMng(), and Arcane::ServiceBuildInfoBase::serviceParent().
Referenced by loadApplicationServices(), loadSessionServices(), and loadSubDomainServices().
|
overridevirtual |
Calls the initialization methods for module factories.
Implements Arcane::IServiceLoader.
Definition at line 274 of file ServiceLoader.cc.
References Arcane::ISubDomain::application(), Arcane::IModuleFactoryInfo::initializeModuleFactory(), and Arcane::IApplication::moduleFactoryInfos().
|
overridevirtual |
Loads available application services.
Implements Arcane::IServiceLoader.
Definition at line 104 of file ServiceLoader.cc.
References _loadServices(), Arcane::ITraceMng::log(), and Arcane::IBase::traceMng().
|
overridevirtual |
Loads available modules.
Implements Arcane::IServiceLoader.
Definition at line 250 of file ServiceLoader.cc.
References Arcane::ISubDomain::application(), Arcane::IModuleFactoryInfo::createModule(), Arcane::ISubDomain::defaultMeshHandle(), Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), Arcane::ITraceMng::info(), Arcane::IModuleFactoryInfo::isAutoload(), Arcane::IApplication::moduleFactoryInfos(), Arcane::ISubDomain::threadMng(), and Arcane::IBase::traceMng().
|
overridevirtual |
Loads available session services.
Implements Arcane::IServiceLoader.
Definition at line 115 of file ServiceLoader.cc.
References _loadServices(), Arcane::ISession::application(), Arcane::ITraceMng::log(), and Arcane::IBase::traceMng().
|
overridevirtual |
Loads the subdomain singleton service with name name.
Returns true upon success and false if the singleton service is not found.
Implements Arcane::IServiceLoader.
Definition at line 179 of file ServiceLoader.cc.
References Arcane::ISubDomain::application(), Arcane::IServiceInfo::factoryInfo(), Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), Arcane::IServiceFactoryInfo::isSingleton(), Arcane::IServiceInfo::localName(), Arcane::IApplication::serviceFactories2(), Arcane::Internal::IServiceFactory2::serviceInfo(), Arcane::IBase::serviceMng(), Arcane::IServiceMng::singletonServiceReference(), Arcane::IBase::traceMng(), and Arcane::ITraceMng::warning().
|
overridevirtual |
Loads available subdomain services in the subdomain sd.
Implements Arcane::IServiceLoader.
Definition at line 126 of file ServiceLoader.cc.
References _loadServices(), Arcane::ISubDomain::application(), Arcane::ITraceMng::log(), and Arcane::IBase::traceMng().