Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IMainFactory.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* IMainFactory.h (C) 2000-2023 */
9/* */
10/* Interface des AbstractFactory d'Arcane. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMAINFACTORY_H
13#define ARCANE_IMAINFACTORY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IBase;
29class ISubDomain;
30class ApplicationInfo;
31class IArcaneMain;
32class IParallelSuperMng;
33class IApplication;
34class IRegistry;
35class IVariableMng;
36class IModuleMng;
37class IEntryPointMng;
38class ITimeHistoryMng;
39class ICaseMng;
40class ICaseDocument;
41class ITimerMng;
42class ITimeLoopMng;
43class ITimeLoop;
44class IIOMng;
45class IServiceMng;
46class IServiceLoader;
47class IXmlDocumentHolder;
48class IMesh;
49class IDataFactory;
50class ITimeStats;
51class IParallelMng;
52class ItemGroup;
53class IPrimaryMesh;
54class ITraceMngPolicy;
55class IModuleMaster;
56class ILoadBalanceMng;
57class ICheckpointMng;
58class IPropertyMng;
59class IDataFactoryMng;
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
93{
94 public:
95
96 virtual ~IMainFactory() {}
97
98 public:
99
100 public:
101
104
105 public:
106
109
112
115
118
121
124
127
130
133
139 virtual ARCANE_DEPRECATED_116 ITimeStats* createTimeStats(ISubDomain*) =0;
140
143
146
148 virtual ITimeLoop* createTimeLoop(IApplication* sm,const String& name) =0;
149
152
155
158
161
164
166 ARCCORE_DEPRECATED_2020("Use createPropertyMngReference() instead")
168
171
181
190 ARCANE_DEPRECATED_REASON("Y2023: Use createMesh(..., eMeshAMRKind amr_type) instead")
192
202
214 const String& name) =0;
215
226 ARCANE_DEPRECATED_REASON("Y2023: Use createMesh(..., eMeshAMRKind amr_type) instead")
228 const String& name, bool is_amr) =0;
229
241 const String& name, eMeshAMRKind amr_type) =0;
242
250 virtual IMesh* createSubMesh(IMesh* mesh, const ItemGroup& group, const String& name) =0;
251
253 ARCCORE_DEPRECATED_2020("Use createDataFactoryMngRef() instead")
255
258
261
268
273
278
283
284 private:
285};
286
287/*---------------------------------------------------------------------------*/
288/*---------------------------------------------------------------------------*/
289
290} // End namespace Arcane
291
292/*---------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------*/
294
295#endif
296
Interface du gestionnaire des accélérateurs.
Informations sur une application.
Interface de l'application.
Interface de la classe de gestion du code.
Definition IArcaneMain.h:54
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:38
Interface d'une classe gérant un document XML du jeu de données.
Interface du gestionnaire de cas.
Definition ICaseMng.h:56
Interface du gestionnaire des informations des protections.
Interface du gestionnaire de fabrique d'une donnée.
Interface d'une fabrique d'une donnée.
Interface du gestionnaire de point d'entrée.
Interface du gestionnaire des entrées sorties.
Definition IIOMng.h:42
Interface d'enregistrement des variables pour l'equilibrage de charge.
Manufacture des classes d'Arcane.
virtual ITraceMng * createTraceMng()=0
Créé un gestionnaire de trace.
virtual Ref< IPropertyMng > createPropertyMngReference(ISubDomain *)=0
Crée une instance du gestionnaire de propriétés.
virtual IServiceMng * createServiceMng(IBase *)=0
Crée une instance du gestionnaire de services.
virtual ITraceMngPolicy * createTraceMngPolicy(IApplication *app)=0
Créé un gestionnaire de configuration pour un gestion de trace.
virtual Ref< IDataFactoryMng > createDataFactoryMngRef(IApplication *)=0
Créé un gestionnaire de fabrique pour les données.
virtual IEntryPointMng * createEntryPointMng(ISubDomain *)=0
Crée une instance du gestionnaire des points d'entrée.
virtual ICheckpointMng * createCheckpointMng(ISubDomain *)=0
Crée une instance du gestionnaire de protections.
virtual ITimeLoopMng * createTimeLoopMng(ISubDomain *)=0
Crée une instance du gestionnaire de la boucle en temps.
virtual IApplication * createApplication(IArcaneMain *)=0
Crée une instance d'un superviseur.
virtual ITimeHistoryMng * createTimeHistoryMng(ISubDomain *)=0
Crée une instance du gestionnaire d'historique en temps.
virtual IPrimaryMesh * createMesh(ISubDomain *sub_domain, const String &name)=0
Créé ou récupère un maillage.
virtual IPropertyMng * createPropertyMng(ISubDomain *)=0
Crée une instance du gestionnaire de propriétés.
virtual ~IMainFactory()
Libère les ressources.
virtual ARCANE_DEPRECATED_116 ITimeStats * createTimeStats(ISubDomain *)=0
Crée une instance des statistiques de temps d'exécution.
virtual IIOMng * createIOMng(IParallelMng *pm)=0
Crée une instance du gestionnaire d'entrée/sortie pour le gestionnaire de parallélisme pm.
virtual IMesh * createSubMesh(IMesh *mesh, const ItemGroup &group, const String &name)=0
Créé un sous-maillage pour le maillage mesh, de nom name.
virtual IServiceLoader * createServiceLoader()=0
Crée une instance du chargeur de services.
virtual IDataFactory * createDataFactory(IApplication *)=0
Créé une fabrique pour les données.
virtual ILoadBalanceMng * createLoadBalanceMng(ISubDomain *sd)=0
Cree un gestionnaire de description pour l'equilibrage.
virtual ITimeStats * createTimeStats(ITimerMng *tim, ITraceMng *trm, const String &name)=0
Crée une instance des statistiques de temps d'exécution.
virtual ICaseMng * createCaseMng(ISubDomain *)=0
Crée une instance du gestionnaire du jeu de données.
virtual ICaseDocument * createCaseDocument(IApplication *)=0
Crée une instance d'un document du jeu de données.
virtual IModuleMng * createModuleMng(ISubDomain *)=0
Crée une instance du gestionnaire de module.
virtual IVariableMng * createVariableMng(ISubDomain *)=0
Crée une instance du gestionnaire de variable.
virtual ITimeLoop * createTimeLoop(IApplication *sm, const String &name)=0
Crée une boucle en temps de nom name.
virtual IModuleMaster * createModuleMaster(ISubDomain *sd)=0
Créé le module maitre pour le sous-domaine sd.
virtual IArcaneMain * createArcaneMain(const ApplicationInfo &app_info)=0
Crée une instance de IArcaneMain.
virtual Ref< IAcceleratorMng > createAcceleratorMngRef(ITraceMng *tm)=0
Créé un gestionnaire pour les accélérateurs.
virtual ICaseDocument * createCaseDocument(IApplication *, const String &lang)=0
Crée une instance d'un document du jeu de données pour une langue donnée lang.
virtual IIOMng * createIOMng(IApplication *)=0
Crée une instance du gestionnaire d'entrée/sortie.
virtual ICaseDocument * createCaseDocument(IApplication *, IXmlDocumentHolder *doc)=0
Crée une instance d'un document du jeu de données.
Interface du module principal.
Interface du gestionnaire de modules.
Definition IModuleMng.h:39
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface du gestionnaire des propriétés.
Interface de chargement des services.
Interface du gestionnaire de services.
Definition IServiceMng.h:31
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Classe gérant un historique de valeurs.
Interface du gestionnaire de la boucle en temps.
Interface d'une boucle en temps.
Definition ITimeLoop.h:41
Interface gérant les statistiques sur les temps d'exécution.
Definition ITimeStats.h:48
Interface d'un gestionnaire de timer.
Definition ITimerMng.h:53
Interface du gestionnaire de configuration d'un gestionnnaire de trace.
Interface du gestionnaire de variables.
Gestionnaire d'un document DOM.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Vue typée sur une liste d'entités d'une connectivité.
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 -*-
eMeshAMRKind
Type de maillage AMR.
Definition MeshKind.h:40