Supervisor. More...
#include <arcane/impl/Application.h>
Public Member Functions | |
| Application (IArcaneMain *) | |
| Constructs a supervisor with execution information, e.g. | |
| ~Application () override | |
| Destroys the manager. | |
| void | build () override |
| Constructs the instance members. The instance is not usable until this method has been called. This method must be called before initialize(). | |
| void | initialize () override |
| Initializes the instance. The instance is not usable until this method has been called. | |
| IBase * | objectParent () const override |
| Parent of this object. | |
| String | objectNamespaceURI () const override |
| Namespace of the object. | |
| String | objectLocalName () const override |
| Local name of the object. | |
| VersionInfo | objectVersion () const override |
| Service version number. | |
| ITraceMng * | traceMng () const override |
| Trace manager. | |
| IRessourceMng * | ressourceMng () const override |
| Resource manager. | |
| IServiceMng * | serviceMng () const override |
| Service manager. | |
| IParallelSuperMng * | parallelSuperMng () override |
| Supervisory parallelism manager. | |
| IParallelSuperMng * | sequentialParallelSuperMng () override |
| Sequential parallelism supervisor manager. | |
| IIOMng * | ioMng () override |
| Input/output manager. | |
| IConfigurationMng * | configurationMng () const override |
| Execution configuration manager. | |
| IDataFactory * | dataFactory () override |
| Data factory. | |
| IDataFactoryMng * | dataFactoryMng () const override |
| Data factory. | |
| const ApplicationInfo & | applicationInfo () const override |
| Executable information. | |
| const ApplicationBuildInfo & | applicationBuildInfo () const override |
| Instance build parameter information. | |
| const DotNetRuntimeInitialisationInfo & | dotnetRuntimeInitialisationInfo () const override |
| '.Net' runtime initialization information. | |
| const AcceleratorRuntimeInitialisationInfo & | acceleratorRuntimeInitialisationInfo () const override |
| Runtime initialization information for accelerators. | |
| String | versionStr () const override |
| Application version number. | |
| String | majorAndMinorVersionStr () const override |
| Major and minor version number in M.m format. | |
| String | mainVersionStr () const override |
| Main application version number (without beta). | |
| String | targetinfoStr () const override |
| Application compilation options information. | |
| String | applicationName () const override |
| Application name. | |
| String | codeName () const override |
| Code name. | |
| String | userName () const override |
| User name. | |
| String | userConfigPath () const override |
| User configuration directory path. | |
| IMainFactory * | mainFactory () const override |
| Main factory. | |
| ByteConstSpan | configBuffer () const override |
| ByteConstSpan | userConfigBuffer () const override |
| SessionCollection | sessions () override |
| List of sessions. | |
| void | addSession (ISession *s) override |
| Adds the session session. | |
| void | removeSession (ISession *s) override |
| Removes the session session. | |
| ServiceFactory2Collection | serviceFactories2 () override |
| List of service factories. | |
| ModuleFactoryInfoCollection | moduleFactoryInfos () override |
| List of module factory information. | |
| Ref< ICodeService > | getCodeService (const String &file_name) override |
| Returns the case loader corresponding to the file given by file_name. | |
| bool | hasGarbageCollector () const override |
| Indicates that certain objects are managed via a garbage collector. | |
| IPhysicalUnitSystemService * | getPhysicalUnitSystemService () override |
| Service managing physical unit systems. | |
| ITraceMngPolicy * | getTraceMngPolicy () override |
| Trace manager configuration policy. | |
| ITraceMng * | createAndInitializeTraceMng (ITraceMng *parent_trace, const String &file_suffix) override |
| Creates and initializes an instance of ITraceMng. | |
| Public Member Functions inherited from Arcane::IBase | |
| virtual | ~IBase ()=default |
| Frees resources. | |
Private Member Functions | |
| void | _openUserConfig () |
| Analyzes the user configuration file. | |
| void | _initDataInitialisationPolicy () |
| template<typename InterfaceType> | |
| Ref< InterfaceType > | _tryCreateService (const StringList &names, String *found_name) |
| void | _readCodeConfigurationFile () |
| void | _setCoreServices () |
Supervisor.
Definition at line 51 of file Application.h.
|
explicit |
Constructs a supervisor with execution information, e.g.
Definition at line 186 of file Application.cc.
References applicationInfo(), hasGarbageCollector(), m_exe_info, m_main_factory, m_main_module_factory_infos, m_main_service_factory_infos, mainFactory(), and Arcane::platform::setThreadImplementationService().
|
override |
Destroys the manager.
Destroys the message manager and the configuration managers.
Definition at line 210 of file Application.cc.
References Arcane::platform::getPerformanceCounterService(), Arcane::platform::getProcessorAffinityService(), Arcane::platform::getProfilingService(), Arcane::platform::getStackTraceService(), Arcane::platform::getSymbolizerService(), Arcane::platform::getThreadImplementationService(), m_data_factory_mng, m_io_mng, m_parallel_super_mng, m_ressource_mng, m_service_mng, m_sessions, m_trace, Arcane::platform::setPerformanceCounterService(), Arcane::platform::setProcessorAffinityService(), Arcane::platform::setProfilingService(), Arcane::platform::setStackTraceService(), Arcane::platform::setSymbolizerService(), Arcane::platform::setThreadImplementationService(), and Arcane::TaskFactory::terminate().
|
private |
Definition at line 999 of file Application.cc.
|
private |
Analyzes the user configuration file.
Definition at line 869 of file Application.cc.
References Arcane::XmlNode::documentElement(), Arcane::IXmlDocumentHolder::documentNode(), Arcane::Directory::file(), m_io_mng, m_trace, m_user_config_bytes, m_user_config_document, m_user_config_path, and m_user_config_root_element.
Referenced by initialize().
|
private |
Definition at line 810 of file Application.cc.
|
private |
Tries to instantiate a service implementing InterfaceType with the list of service names names. Returns the found instance if it exists and fills found_name (if not null) with the name of the instance. As soon as an instance is found, it is returned. Returns null if no instance is available.
Definition at line 270 of file Application.cc.
References Arcane::ServiceBuilder< InterfaceType >::createReference(), and Arcane::SB_AllowNull.
|
overridevirtual |
Runtime initialization information for accelerators.
Implements Arcane::IApplication.
Definition at line 1055 of file Application.cc.
|
overridevirtual |
Adds the session session.
Implements Arcane::IApplication.
Definition at line 963 of file Application.cc.
References m_sessions.
|
overridevirtual |
Instance build parameter information.
Implements Arcane::IApplication.
Definition at line 1037 of file Application.cc.
Referenced by build(), and initialize().
|
inlineoverridevirtual |
Executable information.
Implements Arcane::IApplication.
Definition at line 88 of file Application.h.
References m_exe_info.
Referenced by Application(), and build().
|
inlineoverridevirtual |
Application name.
Implements Arcane::IApplication.
Definition at line 96 of file Application.h.
References m_application_name.
|
overridevirtual |
Constructs the instance members. The instance is not usable until this method has been called. This method must be called before initialize().
Implements Arcane::IBase.
Definition at line 326 of file Application.cc.
References applicationBuildInfo(), applicationInfo(), ARCANE_FATAL, Arcane::IRessourceMng::createDefault(), Arcane::ServiceBuilder< InterfaceType >::createReference(), Arcane::IDynamicLibraryLoader::getDefault(), Arcane::platform::getEnvironmentVariable(), Arcane::platform::getHomeDirectory(), Arcane::platform::getHostName(), Arcane::platform::getProcessId(), Arcane::platform::getUserName(), Arcane::IParallelSuperMng::initialize(), Arcane::ApplicationInfo::isDebug(), Arcane::IParallelSuperMng::isParallel(), m_application_name, m_data_factory_mng, m_exe_info, m_io_mng, m_main_factory, m_main_module_factory_infos, m_main_service_factory_infos, m_main_version_str, m_major_and_minor_version_str, m_parallel_super_mng, m_ressource_mng, m_sequential_parallel_super_mng, m_service_mng, m_targetinfo_str, m_trace, m_user_config_path, m_user_name, m_version_str, Arcane::String::null(), Arcane::IDynamicLibraryLoader::open(), parallelSuperMng(), Arcane::Directory::path(), Arcane::SB_AllowNull, Arcane::platform::setOnlineDebuggerService(), Arcane::platform::setProcessorAffinityService(), Arcane::ProfilingRegistry::setProfilingLevel(), Arcane::platform::setProfilingService(), traceMng(), Arcane::VersionInfo::versionMajor(), Arcane::VersionInfo::versionMinor(), and Arcane::VersionInfo::versionPatch().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements Arcane::IApplication.
Definition at line 102 of file Application.h.
|
inlineoverridevirtual |
Execution configuration manager.
Implements Arcane::IApplication.
Definition at line 85 of file Application.h.
|
overridevirtual |
Creates and initializes an instance of ITraceMng.
The created instance is initialized according to the policy specified by getTraceMngPolicy(). If file outputs are enabled, the created instance will output its information into a file suffixed by file_suffix.
The verbosity properties of the created instance are inherited from parent_trace if it is not null.
Implements Arcane::IApplication.
Definition at line 1064 of file Application.cc.
References Arcane::IMainFactory::createTraceMng(), getTraceMngPolicy(), Arcane::ITraceMngPolicy::initializeTraceMng(), and mainFactory().
|
overridevirtual |
Data factory.
Implements Arcane::IApplication.
Definition at line 1076 of file Application.cc.
References m_data_factory_mng.
|
overridevirtual |
Data factory.
Implements Arcane::IApplication.
Definition at line 1085 of file Application.cc.
References m_data_factory_mng.
|
overridevirtual |
'.Net' runtime initialization information.
Implements Arcane::IApplication.
Definition at line 1046 of file Application.cc.
|
overridevirtual |
Returns the case loader corresponding to the file given by file_name.
Implements Arcane::IApplication.
Definition at line 913 of file Application.cc.
References Arcane::ServiceBuilder< InterfaceType >::createAllInstances(), Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), and Arcane::String::toStdStringView().
|
inlineoverridevirtual |
Service managing physical unit systems.
Implements Arcane::IApplication.
Definition at line 115 of file Application.h.
|
inlineoverridevirtual |
Trace manager configuration policy.
Implements Arcane::IApplication.
Definition at line 120 of file Application.h.
Referenced by createAndInitializeTraceMng().
|
inlineoverridevirtual |
Indicates that certain objects are managed via a garbage collector.
Implements Arcane::IApplication.
Definition at line 113 of file Application.h.
Referenced by Application().
|
overridevirtual |
Initializes the instance. The instance is not usable until this method has been called.
Implements Arcane::IBase.
Definition at line 584 of file Application.cc.
References _openUserConfig(), Arcane::ItemTypeMng::_singleton(), Arcane::ConfigurationReader::addValuesFromJSON(), Arcane::ConfigurationReader::addValuesFromXmlNode(), applicationBuildInfo(), Arcane::arcaneIsCheck(), Arcane::arcaneSetCheck(), Arcane::ItemTypeMng::build(), Arcane::JSONValue::child(), Arcane::ServiceBuilder< InterfaceType >::createReference(), Arcane::platform::getCompilerId(), Arcane::platform::getCurrentDateTime(), Arcane::platform::getEnvironmentVariable(), Arcane::platform::getHostName(), Arcane::platform::getMemoryUsed(), Arcane::platform::getOnlineDebuggerService(), Arcane::platform::getProcessId(), Arcane::platform::getProcessorAffinityService(), Arcane::platform::getStackTraceService(), Arcane::platform::getSymbolizerService(), Arcane::ArcaneMain::initializationTimeForAccelerator(), Arcane::TaskFactory::isActive(), m_config_root_element, m_exe_info, m_is_init, m_parallel_super_mng, m_trace, Arcane::makeRef(), Arcane::TaskFactory::nbAllowedThread(), Arcane::String::null(), Arcane::XmlNode::null(), Arcane::JSONDocument::parse(), Arcane::IProcessorAffinityService::printInfos(), Arcane::TaskFactory::printInfos(), Arcane::ProfilingRegistry::profilingLevel(), Arcane::JSONDocument::root(), Arcane::SB_AllowNull, traceMng(), Arcane::VersionInfo::versionMajor(), Arcane::VersionInfo::versionMinor(), and Arcane::VersionInfo::versionPatch().
|
inlineoverridevirtual |
Input/output manager.
Implements Arcane::IApplication.
Definition at line 84 of file Application.h.
References m_io_mng.
|
inlineoverridevirtual |
Main factory.
Implements Arcane::IApplication.
Definition at line 100 of file Application.h.
References m_main_factory.
Referenced by Application(), and createAndInitializeTraceMng().
|
inlineoverridevirtual |
Main application version number (without beta).
Implements Arcane::IApplication.
Definition at line 94 of file Application.h.
References m_main_version_str.
|
inlineoverridevirtual |
Major and minor version number in M.m format.
Implements Arcane::IApplication.
Definition at line 93 of file Application.h.
References m_major_and_minor_version_str.
|
overridevirtual |
List of module factory information.
Implements Arcane::IApplication.
Definition at line 990 of file Application.cc.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Supervisory parallelism manager.
Implements Arcane::IApplication.
Definition at line 79 of file Application.h.
References m_parallel_super_mng.
Referenced by build().
|
overridevirtual |
Removes the session session.
Implements Arcane::IApplication.
Definition at line 972 of file Application.cc.
References m_sessions.
|
inlineoverridevirtual |
Resource manager.
Implements Arcane::IBase.
Definition at line 76 of file Application.h.
References m_ressource_mng.
|
inlineoverridevirtual |
Sequential parallelism supervisor manager.
Implements Arcane::IApplication.
Definition at line 80 of file Application.h.
References m_sequential_parallel_super_mng.
|
overridevirtual |
List of service factories.
Implements Arcane::IApplication.
Definition at line 981 of file Application.cc.
|
inlineoverridevirtual |
Service manager.
Implements Arcane::IBase.
Definition at line 77 of file Application.h.
References m_service_mng.
|
inlineoverridevirtual |
List of sessions.
Implements Arcane::IApplication.
Definition at line 105 of file Application.h.
References m_sessions.
|
inlineoverridevirtual |
Application compilation options information.
Implements Arcane::IApplication.
Definition at line 95 of file Application.h.
References m_targetinfo_str.
|
inlineoverridevirtual |
Trace manager.
Implements Arcane::IBase.
Definition at line 75 of file Application.h.
References m_trace.
Referenced by build(), and initialize().
|
inlineoverridevirtual |
Implements Arcane::IApplication.
Definition at line 103 of file Application.h.
|
inlineoverridevirtual |
User configuration directory path.
Implements Arcane::IApplication.
Definition at line 99 of file Application.h.
References m_user_config_path.
|
inlineoverridevirtual |
User name.
Implements Arcane::IApplication.
Definition at line 98 of file Application.h.
References m_user_name.
|
inlineoverridevirtual |
Application version number.
Implements Arcane::IApplication.
Definition at line 92 of file Application.h.
References m_version_str.
|
private |
Application name.
Definition at line 145 of file Application.h.
Referenced by applicationName(), and build().
|
private |
Definition at line 130 of file Application.h.
|
private |
Definition at line 144 of file Application.h.
|
private |
File containing the configuration.
Definition at line 157 of file Application.h.
|
private |
Configuration DOM tree.
Definition at line 159 of file Application.h.
|
private |
Configuration root element.
Definition at line 161 of file Application.h.
Referenced by initialize().
|
private |
Definition at line 138 of file Application.h.
|
private |
Definition at line 174 of file Application.h.
|
private |
Data factory.
Definition at line 139 of file Application.h.
Referenced by build(), dataFactory(), dataFactoryMng(), and ~Application().
|
private |
Executable information.
Definition at line 126 of file Application.h.
Referenced by Application(), applicationInfo(), build(), and initialize().
|
private |
Definition at line 151 of file Application.h.
|
private |
Input/output manager.
Definition at line 137 of file Application.h.
Referenced by _openUserConfig(), build(), ioMng(), and ~Application().
|
private |
true if already initialized
Definition at line 156 of file Application.h.
Referenced by initialize().
|
private |
Definition at line 164 of file Application.h.
|
private |
Definition at line 128 of file Application.h.
|
private |
Main factory.
Definition at line 131 of file Application.h.
Referenced by Application(), build(), and mainFactory().
|
private |
Array of module factories.
Definition at line 150 of file Application.h.
Referenced by Application(), and build().
|
private |
Array of service factories.
Definition at line 149 of file Application.h.
Referenced by Application(), and build().
|
private |
Version in Major.minor.beta format.
Definition at line 141 of file Application.h.
Referenced by build(), and mainVersionStr().
|
private |
Version M.m.
Definition at line 142 of file Application.h.
Referenced by build(), and majorAndMinorVersionStr().
|
private |
Definition at line 127 of file Application.h.
|
private |
Definition at line 129 of file Application.h.
|
private |
Definition at line 166 of file Application.h.
|
private |
Definition at line 173 of file Application.h.
|
private |
Parallelism manager.
Definition at line 133 of file Application.h.
Referenced by build(), initialize(), parallelSuperMng(), and ~Application().
|
private |
Definition at line 172 of file Application.h.
|
private |
Definition at line 165 of file Application.h.
|
private |
Definition at line 171 of file Application.h.
|
private |
Definition at line 167 of file Application.h.
|
private |
Resource manager.
Definition at line 136 of file Application.h.
Referenced by build(), ressourceMng(), and ~Application().
|
private |
Sequential parallelism manager.
Definition at line 134 of file Application.h.
Referenced by build(), and sequentialParallelSuperMng().
|
private |
Definition at line 169 of file Application.h.
|
private |
Service manager.
Definition at line 132 of file Application.h.
Referenced by build(), serviceMng(), and ~Application().
|
private |
List of sessions.
Definition at line 148 of file Application.h.
Referenced by addSession(), removeSession(), sessions(), and ~Application().
|
private |
Configuration info.
Definition at line 143 of file Application.h.
Referenced by build(), and targetinfoStr().
|
private |
Trace manager.
Definition at line 135 of file Application.h.
Referenced by _openUserConfig(), build(), initialize(), traceMng(), and ~Application().
|
private |
Definition at line 152 of file Application.h.
|
private |
File containing the user configuration.
Definition at line 158 of file Application.h.
Referenced by _openUserConfig().
|
private |
User configuration DOM tree.
Definition at line 160 of file Application.h.
Referenced by _openUserConfig().
|
private |
User configuration directory.
Definition at line 147 of file Application.h.
Referenced by _openUserConfig(), build(), and userConfigPath().
|
private |
User configuration root element.
Definition at line 162 of file Application.h.
Referenced by _openUserConfig().
|
private |
|
private |
Configuration info.
Definition at line 140 of file Application.h.
Referenced by build(), and versionStr().