Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IApplication.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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-2022 */
9/* */
10/* Interface de l'application. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IAPPLICATION_H
13#define ARCANE_IAPPLICATION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/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;
37class IParallelSuperMng;
38class ISession;
39class IDataFactory;
40class IPhysicalUnitSystemService;
41class ITraceMngPolicy;
42class IConfigurationMng;
43class ApplicationBuildInfo;
44class DotNetRuntimeInitialisationInfo;
45
46/*---------------------------------------------------------------------------*/
47/*---------------------------------------------------------------------------*/
55class ARCANE_CORE_EXPORT IApplication
56: public IBase
57{
58 public:
59
62
65
67 virtual IIOMng* ioMng() =0;
68
71
73 ARCCORE_DEPRECATED_2021("Use dataFactoryMng() instead")
74 virtual IDataFactory* dataFactory() =0;
75
77 virtual IDataFactoryMng* dataFactoryMng() const =0;
78
80 virtual const ApplicationInfo& applicationInfo() const =0;
81
83 virtual const ApplicationBuildInfo& applicationBuildInfo() const =0;
84
86 virtual const DotNetRuntimeInitialisationInfo& dotnetRuntimeInitialisationInfo() const =0;
87
89 virtual const AcceleratorRuntimeInitialisationInfo& acceleratorRuntimeInitialisationInfo() const =0;
90
92 virtual String versionStr() const =0;
93
95 virtual String mainVersionStr() const =0;
96
98 virtual String majorAndMinorVersionStr() const =0;
99
101 virtual String targetinfoStr() const =0;
102
104 virtual String codeName() const =0;
105
107 virtual String applicationName() const =0;
108
110 virtual String userName() const =0;
111
112 /*
113 * \brief Contenu du fichier Xml de configuration du code.
114 */
115 virtual ByteConstSpan configBuffer() const =0;
116
117 /*
118 * \brief Contenu du fichier Xml de configuration utilisateur
119 */
120 virtual ByteConstSpan userConfigBuffer() const =0;
121
123 virtual String userConfigPath() const =0;
124
126 virtual void addSession(ISession* session) =0;
127
129 virtual void removeSession(ISession* session) =0;
130
133
135 virtual IMainFactory* mainFactory() const =0;
136
138 virtual ModuleFactoryInfoCollection moduleFactoryInfos() =0;
139
141 virtual ServiceFactory2Collection serviceFactories2() =0;
142
147 virtual Ref<ICodeService> getCodeService(const String& file_name) =0;
148
150 virtual bool hasGarbageCollector() const =0;
151
153 virtual IPhysicalUnitSystemService* getPhysicalUnitSystemService() =0;
154
156 virtual ITraceMngPolicy* getTraceMngPolicy() =0;
157
169 virtual ITraceMng* createAndInitializeTraceMng(ITraceMng* parent_trace,
170 const String& file_suffix) =0;
171};
172
173/*---------------------------------------------------------------------------*/
174/*---------------------------------------------------------------------------*/
175
176} // End namespace Arcane
177
178/*---------------------------------------------------------------------------*/
179/*---------------------------------------------------------------------------*/
180
181#endif
Informations pour construire une instance de IApplication.
Informations sur une application.
Informations pour l'initialisation du runtime '.Net'.
Interface de l'application.
virtual IIOMng * ioMng()=0
Gestionnaire des entrées/sorties.
virtual IConfigurationMng * configurationMng() const =0
Gestionnaire des configurations d'exécution.
virtual IParallelSuperMng * parallelSuperMng()=0
Gestionnaire superviseur du parallélisme.
virtual IParallelSuperMng * sequentialParallelSuperMng()=0
Gestionnaire un superviseur séquentiel du parallélisme.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:38
Interface d'un chargeur de cas.
Gestionnaire de configuration.
Interface du gestionnaire de fabrique d'une donnée.
Interface d'une fabrique d'une donnée.
Interface du gestionnaire des entrées sorties.
Definition IIOMng.h:42
Manufacture des classes d'Arcane.
Classe abstraite du superviseur de parallélisme.
Interface d'un service gérant un système d'unité.
Interface d'une session d'exécution d'un cas.
Definition ISession.h:44
Interface du gestionnaire de configuration d'un gestionnnaire de trace.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface du gestionnaire de traces.
Référence à une instance.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Span< const std::byte > ByteConstSpan
Vue en lecture seule d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:706