Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IApplication.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IApplication.h (C) 2000-2025 */
9/* */
10/* Application interface. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IAPPLICATION_H
13#define ARCANE_CORE_IAPPLICATION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/IBase.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29class ApplicationInfo;
30class IMainFactory;
31class IArcaneMain;
32class IRessourceMng;
33class IIOMng;
34class XmlNode;
35class ICodeService;
36class IParallelMng;
38class ISession;
39class IDataFactory;
41class ITraceMngPolicy;
45
46/*---------------------------------------------------------------------------*/
47/*---------------------------------------------------------------------------*/
48
56class ARCANE_CORE_EXPORT IApplication
57: public IBase
58{
59 public:
60
63
66
68 virtual IIOMng* ioMng() = 0;
69
71 virtual IConfigurationMng* configurationMng() const = 0;
72
74 ARCCORE_DEPRECATED_2021("Use dataFactoryMng() instead")
75 virtual IDataFactory* dataFactory() = 0;
76
78 virtual IDataFactoryMng* dataFactoryMng() const = 0;
79
81 virtual const ApplicationInfo& applicationInfo() const = 0;
82
84 virtual const ApplicationBuildInfo& applicationBuildInfo() const = 0;
85
88
91
93 virtual String versionStr() const = 0;
94
96 virtual String mainVersionStr() const = 0;
97
99 virtual String majorAndMinorVersionStr() const = 0;
100
102 virtual String targetinfoStr() const = 0;
103
105 virtual String codeName() const = 0;
106
108 virtual String applicationName() const = 0;
109
111 virtual String userName() const = 0;
112
113 /*
114 * \brief Content of the code configuration Xml file.
115 */
116 virtual ByteConstSpan configBuffer() const = 0;
117
118 /*
119 * \brief Content of the user configuration Xml file
120 */
121 virtual ByteConstSpan userConfigBuffer() const = 0;
122
124 virtual String userConfigPath() const = 0;
125
127 virtual void addSession(ISession* session) = 0;
128
130 virtual void removeSession(ISession* session) = 0;
131
134
136 virtual IMainFactory* mainFactory() const = 0;
137
140
143
148 virtual Ref<ICodeService> getCodeService(const String& file_name) = 0;
149
151 virtual bool hasGarbageCollector() const = 0;
152
155
158
171 const String& file_suffix) = 0;
172};
173
174/*---------------------------------------------------------------------------*/
175/*---------------------------------------------------------------------------*/
176
177} // End namespace Arcane
178
179/*---------------------------------------------------------------------------*/
180/*---------------------------------------------------------------------------*/
181
182#endif
Declarations of Arcane's general types.
Information for constructing an instance of IApplication.
Application information.
Information for the initialization of the '.Net' runtime.
Application interface.
virtual void addSession(ISession *session)=0
Adds the session session.
virtual SessionCollection sessions()=0
List of sessions.
virtual ITraceMngPolicy * getTraceMngPolicy()=0
Trace manager configuration policy.
virtual IMainFactory * mainFactory() const =0
Main factory.
virtual IPhysicalUnitSystemService * getPhysicalUnitSystemService()=0
Service managing physical unit systems.
virtual IIOMng * ioMng()=0
Input/output manager.
virtual ModuleFactoryInfoCollection moduleFactoryInfos()=0
List of module factory information.
virtual String mainVersionStr() const =0
Main application version number (without beta).
virtual String applicationName() const =0
Application name.
virtual IDataFactory * dataFactory()=0
Data factory.
virtual const ApplicationBuildInfo & applicationBuildInfo() const =0
Instance build parameter information.
virtual IConfigurationMng * configurationMng() const =0
Execution configuration manager.
virtual void removeSession(ISession *session)=0
Removes the session session.
virtual Ref< ICodeService > getCodeService(const String &file_name)=0
Returns the case loader corresponding to the file given by file_name.
virtual bool hasGarbageCollector() const =0
Indicates that certain objects are managed via a garbage collector.
virtual String majorAndMinorVersionStr() const =0
Major and minor version number in M.m format.
virtual ServiceFactory2Collection serviceFactories2()=0
List of service factories.
virtual const AcceleratorRuntimeInitialisationInfo & acceleratorRuntimeInitialisationInfo() const =0
Runtime initialization information for accelerators.
virtual IDataFactoryMng * dataFactoryMng() const =0
Data factory.
virtual IParallelSuperMng * parallelSuperMng()=0
Supervisory parallelism manager.
virtual String userName() const =0
User name.
virtual ITraceMng * createAndInitializeTraceMng(ITraceMng *parent_trace, const String &file_suffix)=0
Creates and initializes an instance of ITraceMng.
virtual const ApplicationInfo & applicationInfo() const =0
Executable information.
virtual String versionStr() const =0
Application version number.
virtual IParallelSuperMng * sequentialParallelSuperMng()=0
Sequential parallelism supervisor manager.
virtual String targetinfoStr() const =0
Application compilation options information.
virtual String codeName() const =0
Code name.
virtual const DotNetRuntimeInitialisationInfo & dotnetRuntimeInitialisationInfo() const =0
'.Net' runtime initialization information.
virtual String userConfigPath() const =0
User configuration directory path.
Interface of the code management class.
Definition IArcaneMain.h:55
Interface of the base class for main arcane objects.
Definition IBase.h:32
Interface of a case loader.
Configuration manager.
Interface of the data factory manager.
Interface of a data factory.
Interface of the input/output manager.
Definition IIOMng.h:37
Factory for Arcane classes.
Interface of the parallelism manager for a subdomain.
Abstract class of the parallelism supervisor.
Interface of a service managing a unit system.
Interface of a resource manager.
Interface for a case execution session.
Definition ISession.h:38
Interface for the configuration manager of a trace manager.
Reference to an instance.
Node of a DOM tree.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection of service factories.
Collection< IModuleFactoryInfo * > ModuleFactoryInfoCollection
Collection of module factory information.
Collection< ISession * > SessionCollection
Collection of sessions.