Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IArcaneMain.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/* IArcaneMain.h (C) 2000-2021 */
9/* */
10/* Interface de la classe ArcaneMain. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IARCANEMAIN_H
13#define ARCANE_IARCANEMAIN_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class ApplicationInfo;
29class ApplicationBuildInfo;
30class IMainFactory;
31class DotNetRuntimeInitialisationInfo;
32class IDirectSubDomainExecuteFunctor;
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
53class ARCANE_CORE_EXPORT IArcaneMain
54{
55 public:
56
58 virtual ~IArcaneMain() {}
59
60 public:
61
68 static IArcaneMain* arcaneMain();
72 static void setArcaneMain(IArcaneMain* arcane_main);
73
74 private:
75
76 static IArcaneMain* global_arcane_main;
77
78 public:
79
86 virtual void build() =0;
87
94 virtual void initialize() =0;
95
96 public:
97
105 virtual bool parseArgs(StringList args) =0;
106
111 virtual int execute() =0;
112
114 virtual void finalize() =0;
115
117 virtual int errorCode() const =0;
118
120 virtual void setErrorCode(int errcode) =0;
121
123 virtual void doAbort() =0;
124
125 public:
126
128 virtual const ApplicationInfo& applicationInfo() const =0;
129
132
135
138
140 virtual IMainFactory* mainFactory() const =0;
141
143 virtual IApplication* application() const =0;
144
145 public:
146
150 virtual bool hasGarbageCollector() const =0;
151
152 public:
153
156
159
160 public:
161
162 virtual void setDirectExecuteFunctor(IDirectSubDomainExecuteFunctor* f) =0;
163};
164
165/*---------------------------------------------------------------------------*/
166/*---------------------------------------------------------------------------*/
167
168} // End namespace Arcane
169
170/*---------------------------------------------------------------------------*/
171/*---------------------------------------------------------------------------*/
172
173#endif
Informations pour construire une instance de IApplication.
Informations sur une application.
Informations pour l'initialisation du runtime '.Net'.
Interface de l'application.
Interface de la classe de gestion du code.
Definition IArcaneMain.h:54
virtual IApplication * application() const =0
Application.
virtual void finalize()=0
Effectue les dernières opérations avant destruction de l'instance.
virtual void initialize()=0
Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.
virtual int execute()=0
Lance l'exécution. Cette méthode ne retourne que lorsqu'on quitte le programme.
virtual ~IArcaneMain()
Libère les ressources.
Definition IArcaneMain.h:58
virtual ServiceFactoryInfoCollection registeredServiceFactoryInfos()=0
Liste des fabriques de service enregistrées.
virtual ModuleFactoryInfoCollection registeredModuleFactoryInfos()=0
Liste des fabriques de module enregistrées.
virtual bool hasGarbageCollector() const =0
Indique que certains objets sont gérés via un ramasse miette.
virtual const DotNetRuntimeInitialisationInfo & dotnetRuntimeInitialisationInfo() const =0
Informations d'initialisation du runtime '.Net'.
virtual const AcceleratorRuntimeInitialisationInfo & acceleratorRuntimeInitialisationInfo() const =0
Informations d'initialisation du runtime pour les accélérateurs.
virtual const ApplicationInfo & applicationInfo() const =0
Informations sur l'éxécutable.
virtual void setErrorCode(int errcode)=0
Positionne le code de retour.
virtual IMainFactory * mainFactory() const =0
Fabrique principale.
virtual void doAbort()=0
Effectue un abort.
virtual bool parseArgs(StringList args)=0
Analyse les arguments.
virtual int errorCode() const =0
Code d'erreur de l'exécution.
virtual void build()=0
Construit les membres la classe. L'instance n'est pas utilisable tant que cette méthode n'a pas été a...
virtual const ApplicationBuildInfo & applicationBuildInfo() const =0
Informations pour construire l'instance IApplication.
Interface d'un fonctor pour exécuter du code directement après la création d'un sous-domaine sans pas...
Manufacture des classes d'Arcane.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-