12#ifndef ARCANE_IMPL_APPLICATION_H
13#define ARCANE_IMPL_APPLICATION_H
17#include "arcane/utils/List.h"
18#include "arcane/utils/ScopedPtr.h"
19#include "arcane/utils/String.h"
20#include "arcane/utils/ApplicationInfo.h"
21#include "arcane/utils/NullThreadMng.h"
23#include "arcane/core/IApplication.h"
24#include "arcane/core/XmlNode.h"
26#include "arccore/base/ReferenceCounter.h"
54 class CoreApplication;
63 void build()
override;
102 ByteConstSpan configBuffer()
const override {
return asBytes(m_config_bytes.constSpan()); }
103 ByteConstSpan userConfigBuffer()
const override {
return asBytes(m_user_config_bytes.constSpan()); }
106 void addSession(
ISession* s)
override;
107 void removeSession(
ISession* s)
override;
117 return m_physical_unit_system_service.get();
122 const String& file_suffix)
override;
151 bool m_has_garbage_collector =
false;
164 bool m_is_master =
false;
174 std::unique_ptr<ConcurrencyApplication> m_core_application;
179 void _initDataInitialisationPolicy();
182 void _readCodeConfigurationFile();
183 void _setCoreServices();
Information for accelerator initialization.
Information for constructing an instance of IApplication.
String m_user_config_path
User configuration directory.
void _openUserConfig()
Analyzes the user configuration file.
ReferenceCounter< ITraceMng > m_trace
Trace manager.
ModuleFactoryInfoCollection m_main_module_factory_infos
Array of module factories.
String targetinfoStr() const override
Application compilation options information.
ScopedPtrT< IXmlDocumentHolder > m_config_document
Configuration DOM tree.
IRessourceMng * ressourceMng() const override
Resource manager.
String userConfigPath() const override
User configuration directory path.
IServiceMng * serviceMng() const override
Service manager.
ApplicationInfo m_exe_info
Executable information.
String m_major_and_minor_version_str
Version M.m.
ITraceMngPolicy * getTraceMngPolicy() override
Trace manager configuration policy.
String m_version_str
Configuration info.
IMainFactory * m_main_factory
Main factory.
IPhysicalUnitSystemService * getPhysicalUnitSystemService() override
Service managing physical unit systems.
IMainFactory * mainFactory() const override
Main factory.
SessionList m_sessions
List of sessions.
Ref< InterfaceType > _tryCreateService(const StringList &names, String *found_name)
IBase * objectParent() const override
Parent of this object.
SessionCollection sessions() override
List of sessions.
String m_user_name
User name.
IRessourceMng * m_ressource_mng
Resource manager.
String applicationName() const override
Application name.
const ApplicationInfo & applicationInfo() const override
Executable information.
String codeName() const override
Code name.
XmlNode m_user_config_root_element
User configuration root element.
String m_main_version_str
Version in Major.minor.beta format.
void initialize() override
Initializes the instance. The instance is not usable until this method has been called.
String userName() const override
User name.
UniqueArray< Byte > m_user_config_bytes
File containing the user configuration.
VersionInfo objectVersion() const override
Service version number.
bool m_is_init
true if already initialized
IIOMng * ioMng() override
Input/output manager.
void build() override
Constructs the instance members. The instance is not usable until this method has been called....
ITraceMng * traceMng() const override
Trace manager.
String mainVersionStr() const override
Main application version number (without beta).
String objectLocalName() const override
Local name of the object.
XmlNode m_config_root_element
Configuration root element.
String majorAndMinorVersionStr() const override
Major and minor version number in M.m format.
String m_application_name
Application name.
String m_targetinfo_str
Configuration info.
ScopedPtrT< IXmlDocumentHolder > m_user_config_document
User configuration DOM tree.
ServiceFactoryInfoCollection m_main_service_factory_infos
Array of service factories.
bool hasGarbageCollector() const override
Indicates that certain objects are managed via a garbage collector.
IConfigurationMng * configurationMng() const override
Execution configuration manager.
Ref< IParallelSuperMng > m_parallel_super_mng
Parallelism manager.
IServiceMng * m_service_mng
Service manager.
IIOMng * m_io_mng
Input/output manager.
UniqueArray< Byte > m_config_bytes
File containing the configuration.
Ref< IDataFactoryMng > m_data_factory_mng
Data factory.
String versionStr() const override
Application version number.
IParallelSuperMng * sequentialParallelSuperMng() override
Sequential parallelism supervisor manager.
IParallelSuperMng * m_sequential_parallel_super_mng
Sequential parallelism manager.
Application(IArcaneMain *)
Constructs a supervisor with execution information, e.g.
IParallelSuperMng * parallelSuperMng() override
Supervisory parallelism manager.
String objectNamespaceURI() const override
Namespace of the object.
Information for the initialization of the '.Net' runtime.
Interface of the code management class.
Interface of the base class for main arcane objects.
Interface of the data factory manager.
Interface of a data factory.
Interface of the input/output manager.
Factory for Arcane classes.
Abstract class of the parallelism supervisor.
Interface of a service managing a unit system.
Interface of a CPU core affinity management service.
Interface of a resource manager.
Interface of a service and module factory manager.
Service manager interface.
Interface for a case execution session.
Interface of a source code symbol retrieval service.
Interface for the configuration manager of a trace manager.
Implementation of threads in single-threaded mode.
Reference to an instance.
Encapsulation of a pointer with a reference counter.
Encapsulation of an automatically destructing pointer.
Unicode character string.
1D data vector with value semantics (STL style).
Information about a version.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
List< ISession * > SessionList
Array of sessions.
Collection< IServiceFactoryInfo * > ServiceFactoryInfoCollection
Collection of service factory information.
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection of service factories.
List< String > StringList
Unicode string list.
Collection< IModuleFactoryInfo * > ModuleFactoryInfoCollection
Collection of module factory information.
Impl::SpanTypeFromSize< conststd::byte, SizeType >::SpanType asBytes(const SpanImpl< DataType, SizeType, Extent > &s)
Converts the view into an array of non-modifiable bytes.
Collection< ISession * > SessionCollection
Collection of sessions.