Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MainFactory.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/* MainFactory.h (C) 2000-2023 */
9/* */
10/* AbstractFactory de l'implémentation par défaut d'Arcane. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_MAINFACTORY_H
13#define ARCANE_IMPL_MAINFACTORY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/IMainFactory.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
51class ARCANE_IMPL_EXPORT MainFactory
52: public IMainFactory
53{
54 public:
55
57 ~MainFactory() override;
58
59 public:
60
61 public:
62
64 IArcaneMain* createArcaneMain(const ApplicationInfo& app_info) override;
65
66 public:
67
68 IApplication* createApplication(IArcaneMain*) override;
69 IVariableMng* createVariableMng(ISubDomain*) override;
70 IModuleMng* createModuleMng(ISubDomain*) override;
71 IEntryPointMng* createEntryPointMng(ISubDomain*) override;
72 ITimeHistoryMng* createTimeHistoryMng(ISubDomain*) override;
73 ICaseMng* createCaseMng(ISubDomain*) override;
74 ICaseDocument* createCaseDocument(IApplication*) override;
75 ICaseDocument* createCaseDocument(IApplication*,const String& lang) override;
76 ICaseDocument* createCaseDocument(IApplication*,IXmlDocumentHolder* doc) override;
77 ITimeStats* createTimeStats(ISubDomain*) override;
78 ITimeStats* createTimeStats(ITimerMng* tim,ITraceMng* trm,const String& name) override;
79 ITimeLoopMng* createTimeLoopMng(ISubDomain*) override;
80 ITimeLoop* createTimeLoop(IApplication* sm,const String& name) override;
81 IIOMng* createIOMng(IApplication*) override;
82 IIOMng* createIOMng(IParallelMng* pm) override;
83 IServiceLoader* createServiceLoader() override;
84 IServiceMng* createServiceMng(IBase*) override;
85 ICheckpointMng* createCheckpointMng(ISubDomain*) override;
86 IPropertyMng* createPropertyMng(ISubDomain*) override;
87 Ref<IPropertyMng> createPropertyMngReference(ISubDomain*) override;
88 IPrimaryMesh* createMesh(ISubDomain* sub_domain,const String& name) override;
89 IPrimaryMesh* createMesh(ISubDomain* sub_domain,IParallelMng* pm,const String& name) override;
90 IPrimaryMesh* createMesh(ISubDomain* sub_domain,const String& name, bool is_amr) override;
91 IPrimaryMesh* createMesh(ISubDomain* sub_domain,const String& name, eMeshAMRKind amr_type) override;
92 IPrimaryMesh* createMesh(ISubDomain* sub_domain,IParallelMng* pm,const String& name, bool is_amr) override;
93 IPrimaryMesh* createMesh(ISubDomain* sub_domain,IParallelMng* pm,const String& name, eMeshAMRKind amr_type) override;
94 IMesh* createSubMesh(IMesh* mesh, const ItemGroup& group, const String& name) override;
95 IDataFactory* createDataFactory(IApplication*) override;
96 Ref<IDataFactoryMng> createDataFactoryMngRef(IApplication*) override;
97 Ref<IAcceleratorMng> createAcceleratorMngRef(ITraceMng* tm) override;
98 ITraceMng* createTraceMng() override;
99 ITraceMngPolicy* createTraceMngPolicy(IApplication* app) override;
100 IModuleMaster* createModuleMaster(ISubDomain* sd) override;
101 ILoadBalanceMng* createLoadBalanceMng(ISubDomain* sd) override;
102};
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
107} // End namespace Arcane
108
109/*---------------------------------------------------------------------------*/
110/*---------------------------------------------------------------------------*/
111
112#endif
113
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 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.
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
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Manufacture des classes d'Arcane.
Definition MainFactory.h:53
Interface du gestionnaire de traces.
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