Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::ArcaneMain

Classe de gestion de l'exécution. Plus de détails...

#include <arcane/impl/ArcaneMain.h>

+ Graphe d'héritage de Arcane::ArcaneMain:
+ Graphe de collaboration de Arcane::ArcaneMain:

Classes

class  Impl
 

Fonctions membres publiques

 ArcaneMain (const ApplicationInfo &infos, IMainFactory *factory)
 
 ArcaneMain (const ApplicationInfo &app_info, IMainFactory *factory, const ApplicationBuildInfo &app_build_info, const DotNetRuntimeInitialisationInfo &dotnet_init_info, const AcceleratorRuntimeInitialisationInfo &accelerator_init_info)
 
void build () override
 Construit les membres la classe. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée. Cette méthode doit être appelée avant initialize().
 
void initialize () override
 Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.
 
bool parseArgs (StringList args) override
 Analyse les arguments.
 
int execute () override
 Lance l'exécution. Cette méthode ne retourne que lorsqu'on quitte le programme.
 
void doAbort () override
 Effectue un abort.
 
void setErrorCode (int errcode) override
 Positionne le code de retour.
 
int errorCode () const override
 Code d'erreur de l'exécution.
 
void finalize () override
 Effectue les dernières opérations avant destruction de l'instance.
 
const ApplicationInfoapplicationInfo () const override
 Informations sur l'éxécutable.
 
const ApplicationBuildInfoapplicationBuildInfo () const override
 Informations pour construire l'instance IApplication.
 
const DotNetRuntimeInitialisationInfodotnetRuntimeInitialisationInfo () const override
 Informations d'initialisation du runtime '.Net'.
 
const AcceleratorRuntimeInitialisationInfoacceleratorRuntimeInitialisationInfo () const override
 Informations d'initialisation du runtime pour les accélérateurs.
 
IMainFactorymainFactory () const override
 Fabrique principale.
 
IApplicationapplication () const override
 Application.
 
ServiceFactoryInfoCollection registeredServiceFactoryInfos () override
 Liste des fabriques de service enregistrées.
 
ModuleFactoryInfoCollection registeredModuleFactoryInfos () override
 Liste des fabriques de module enregistrées.
 
bool hasGarbageCollector () const override
 Indique que certains objets sont gérés via un ramasse miette.
 
void setDirectExecuteFunctor (IDirectSubDomainExecuteFunctor *f) override
 
IDirectSubDomainExecuteFunctor_directExecuteFunctor () const
 
- Fonctions membres publiques hérités de Arcane::IArcaneMain
virtual ~IArcaneMain ()
 Libère les ressources.
 

Fonctions membres publiques statiques

static int arcaneMain (const ApplicationInfo &app_info, IMainFactory *factory=nullptr)
 Point d'entrée de l'exécutable dans Arcane.
 
static int run ()
 Point d'entrée de l'exécutable dans Arcane.
 
static void arcaneInitialize ()
 Initialise Arcane.
 
static void arcaneFinalize ()
 Termine l'utilisation Arcane.
 
static void setHasGarbageCollector ()
 Indique que certains objets sont gérés par un ramasse-miette.
 
static void setHasDotNETRuntime ()
 Indique que l'on tourne dans le runtime .NET.
 
static void setDefaultMainFactory (IMainFactory *mf)
 Positionne la fabrique par défaut.
 
static ApplicationInfodefaultApplicationInfo ()
 Infos par défaut de l'application.
 
static DotNetRuntimeInitialisationInfodefaultDotNetRuntimeInitialisationInfo ()
 Informations pour l'initialisation du runtime '.Net'.
 
static AcceleratorRuntimeInitialisationInfodefaultAcceleratorRuntimeInitialisationInfo ()
 Informations pour l'initialisation des accélerateurs.
 
static ApplicationBuildInfodefaultApplicationBuildInfo ()
 Informations pour l'initialisation des accélerateurs.
 
static int callFunctorWithCatchedException (IFunctor *functor, IArcaneMain *amain, bool *clean_abort, bool is_print=true)
 Appelle le fonctor functor en récupérant les éventuelles exceptions.
 
static void setExecuteOverrideFunctor (ArcaneMainExecutionOverrideFunctor *functor)
 
static bool hasDotNetWrapper ()
 Indique si on exécute une assembly '.Net' depuis un main en C++.
 
static Real initializationTimeForAccelerator ()
 Retourne le temps (en seconde) pour l'initialisation des runtimes accélérateurs pour ce processus.
 
static void addServiceFactoryInfo (IServiceFactoryInfo *factory)
 Ajoute une fabrique de service.
 
static void addModuleFactoryInfo (IModuleFactoryInfo *factory)
 Ajoute une fabrique de module.
 
static void addApplicationBuildInfoVisitor (IApplicationBuildInfoVisitor *visitor)
 Ajoute un visiteur pour remplir ApplicationBuildInfo.
 
static void redirectSignals ()
 
static bool isMasterIO ()
 
static void setUseTestLogger (bool v)
 
- Fonctions membres publiques statiques hérités de Arcane::IArcaneMain
static IArcaneMainarcaneMain ()
 
static void setArcaneMain (IArcaneMain *arcane_main)
 

Fonctions membres protégées

IApplication_application ()
 
ApplicationBuildInfo_applicationBuildInfo ()
 

Fonctions membres protégées statiques

static int _internalRun (IDirectSubDomainExecuteFunctor *func)
 

Fonctions membres privées

void _dumpHelp ()
 
void _parseApplicationBuildInfoArgs ()
 

Fonctions membres privées statiques

static int _arcaneMain (const ApplicationInfo &, IMainFactory *)
 Point d'entrée de l'exécutable.
 
static void _launchMissingInitException ()
 
static void _checkHasInit ()
 
static void _checkCreateDynamicLibraryLoader ()
 
static int _runDotNet ()
 
static void _checkAutoDetectMPI ()
 
static int _checkAutoDetectAccelerator (bool &has_accelerator)
 Détecte et charge la gestion du runtime des accélérateurs.
 
static void _setArcaneLibraryPath ()
 
static int _initRuntimes ()
 
static int _checkTestLoggerResult ()
 

Attributs privés

Implm_p
 
IMainFactorym_main_factory = nullptr
 
IApplicationm_application = nullptr
 
int m_error_code = 0
 
IDirectSubDomainExecuteFunctorm_direct_sub_domain_execute_functor = nullptr
 

Attributs privés statiques

static bool m_has_garbage_collector = false
 
static bool m_is_master_io = true
 
static bool m_is_use_test_logger = false
 
static IMainFactorym_default_main_factory = nullptr
 
static ArcaneMainExecutionOverrideFunctorm_exec_override_functor = nullptr
 
static std::atomic< Int32 > m_nb_arcane_init
 Nombre de fois que arcaneInitialize() a été appelé
 
static std::atomic< Int32 > m_is_init_done
 1 si init terminé, 0 sinon
 

Amis

class ArcaneMainExecInfo
 
class ArcaneLauncher
 
class ArcaneMainAutoDetectRuntimeHelper
 

Description détaillée

Classe de gestion de l'exécution.

Cette classe est interne à Arcane et ne doit pas être utilisée directement. Pour initialiser et exécuter le code il faut utiliser la classe ArcaneLauncher.

Définition à la ligne 78 du fichier ArcaneMain.h.

Documentation des constructeurs et destructeur

◆ ArcaneMain() [1/2]

Arcane::ArcaneMain::ArcaneMain ( const ApplicationInfo infos,
IMainFactory factory 
)

Définition à la ligne 1195 du fichier ArcaneMain.cc.

◆ ArcaneMain() [2/2]

Arcane::ArcaneMain::ArcaneMain ( const ApplicationInfo app_info,
IMainFactory factory,
const ApplicationBuildInfo app_build_info,
const DotNetRuntimeInitialisationInfo dotnet_init_info,
const AcceleratorRuntimeInitialisationInfo accelerator_init_info 
)

Définition à la ligne 1205 du fichier ArcaneMain.cc.

◆ ~ArcaneMain()

Arcane::ArcaneMain::~ArcaneMain ( )
override

Définition à la ligne 1218 du fichier ArcaneMain.cc.

Documentation des fonctions membres

◆ _application()

IApplication * Arcane::ArcaneMain::_application ( )
inlineprotected

Définition à la ligne 330 du fichier ArcaneMain.h.

◆ _applicationBuildInfo()

ApplicationBuildInfo & Arcane::ArcaneMain::_applicationBuildInfo ( )
protected

Définition à la ligne 855 du fichier ArcaneMain.cc.

◆ _arcaneMain()

int Arcane::ArcaneMain::_arcaneMain ( const ApplicationInfo app_info,
IMainFactory factory 
)
staticprivate

Point d'entrée de l'exécutable.

Définition à la ligne 509 du fichier ArcaneMain.cc.

Référencé par arcaneMain().

◆ _checkAutoDetectAccelerator()

int Arcane::ArcaneMain::_checkAutoDetectAccelerator ( bool has_accelerator)
staticprivate

Détecte et charge la gestion du runtime des accélérateurs.

En retour, has_accelerator est vrai si on a chargé un runtime accélérateur.

Valeurs retournées
0si tout est OK
Note
Ne pas appeler directement cette méthode mais passer par ArcaneMainAutoDetectHelper.

Définition à la ligne 1119 du fichier ArcaneMain.cc.

Références ARCANE_FATAL, et Arcane::platform::getDynamicLibraryLoader().

◆ _checkAutoDetectMPI()

void Arcane::ArcaneMain::_checkAutoDetectMPI ( )
staticprivate

Définition à la ligne 1069 du fichier ArcaneMain.cc.

◆ _checkCreateDynamicLibraryLoader()

void Arcane::ArcaneMain::_checkCreateDynamicLibraryLoader ( )
staticprivate

Définition à la ligne 706 du fichier ArcaneMain.cc.

◆ _checkHasInit()

void Arcane::ArcaneMain::_checkHasInit ( )
staticprivate

Définition à la ligne 627 du fichier ArcaneMain.cc.

◆ _checkTestLoggerResult()

int Arcane::ArcaneMain::_checkTestLoggerResult ( )
staticprivate

Définition à la ligne 932 du fichier ArcaneMain.cc.

◆ _directExecuteFunctor()

IDirectSubDomainExecuteFunctor * Arcane::ArcaneMain::_directExecuteFunctor ( ) const
inline

Définition à la ligne 326 du fichier ArcaneMain.h.

◆ _dumpHelp()

void Arcane::ArcaneMain::_dumpHelp ( )
private

Définition à la ligne 1426 du fichier ArcaneMain.cc.

◆ _initRuntimes()

int Arcane::ArcaneMain::_initRuntimes ( )
staticprivate

Définition à la ligne 945 du fichier ArcaneMain.cc.

◆ _internalRun()

int Arcane::ArcaneMain::_internalRun ( IDirectSubDomainExecuteFunctor func)
staticprotected

Définition à la ligne 922 du fichier ArcaneMain.cc.

◆ _launchMissingInitException()

void Arcane::ArcaneMain::_launchMissingInitException ( )
staticprivate

Définition à la ligne 617 du fichier ArcaneMain.cc.

◆ _parseApplicationBuildInfoArgs()

void Arcane::ArcaneMain::_parseApplicationBuildInfoArgs ( )
private

Définition à la ligne 1252 du fichier ArcaneMain.cc.

◆ _runDotNet()

int Arcane::ArcaneMain::_runDotNet ( )
staticprivate

Définition à la ligne 994 du fichier ArcaneMain.cc.

◆ _setArcaneLibraryPath()

void Arcane::ArcaneMain::_setArcaneLibraryPath ( )
staticprivate

Définition à la ligne 691 du fichier ArcaneMain.cc.

◆ acceleratorRuntimeInitialisationInfo()

const AcceleratorRuntimeInitialisationInfo & Arcane::ArcaneMain::acceleratorRuntimeInitialisationInfo ( ) const
overridevirtual

Informations d'initialisation du runtime pour les accélérateurs.

Implémente Arcane::IArcaneMain.

Définition à la ligne 873 du fichier ArcaneMain.cc.

◆ addApplicationBuildInfoVisitor()

void Arcane::ArcaneMain::addApplicationBuildInfoVisitor ( IApplicationBuildInfoVisitor visitor)
static

Ajoute un visiteur pour remplir ApplicationBuildInfo.

Le pointeur passé en argument doit rester valide jusqu'à l'appel à arcaneMain(); Les visiteurs enregistrés sont appelés juste avant de créer l'application.

Définition à la ligne 801 du fichier ArcaneMain.cc.

Référencé par Arcane::arcaneAutoDetectMessagePassingServiceMPI().

◆ addModuleFactoryInfo()

void Arcane::ArcaneMain::addModuleFactoryInfo ( IModuleFactoryInfo factory)
static

Ajoute une fabrique de module.

Cette méthode doit être appelée avant arcaneMain()

Définition à la ligne 792 du fichier ArcaneMain.cc.

◆ addServiceFactoryInfo()

void Arcane::ArcaneMain::addServiceFactoryInfo ( IServiceFactoryInfo factory)
static

Ajoute une fabrique de service.

Cette méthode doit être appelée avant arcaneMain()

Définition à la ligne 783 du fichier ArcaneMain.cc.

◆ application()

IApplication * Arcane::ArcaneMain::application ( ) const
inlineoverridevirtual

Application.

Implémente Arcane::IArcaneMain.

Définition à la ligne 321 du fichier ArcaneMain.h.

Référencé par Arcane::ArcaneMainBatch::doAbort(), et parseArgs().

◆ applicationBuildInfo()

const ApplicationBuildInfo & Arcane::ArcaneMain::applicationBuildInfo ( ) const
overridevirtual

Informations pour construire l'instance IApplication.

Implémente Arcane::IArcaneMain.

Définition à la ligne 846 du fichier ArcaneMain.cc.

Référencé par Arcane::ArcaneMainBatch::execute().

◆ applicationInfo()

const ApplicationInfo & Arcane::ArcaneMain::applicationInfo ( ) const
overridevirtual

Informations sur l'éxécutable.

Implémente Arcane::IArcaneMain.

Définition à la ligne 1243 du fichier ArcaneMain.cc.

◆ arcaneFinalize()

void Arcane::ArcaneMain::arcaneFinalize ( )
static

Termine l'utilisation Arcane.

Cette méthode doit être appelée à la fin de l'exécution. Une fois appelée, les objets de Arcane ne doivent plus être utilisés.

L'appel à run() gère l'initialisation et l'appel à cette méthode. Il n'est donc en général pas nécessaire de faire appel directement à cette méthode.

Voir également
arcaneInitialize();

Supprime notre référence sur ItemGroupImpl::shared_null.

Définition à la ligne 746 du fichier ArcaneMain.cc.

Références Arcane::ItemGroupImpl::_destroySharedNull(), Arcane::ItemTypeMng::_destroySingleton(), Arcane::platform::getDynamicLibraryLoader(), Arcane::FlexLMMng::instance(), m_is_init_done, m_nb_arcane_init, Arcane::platform::platformTerminate(), et Arcane::platform::setDynamicLibraryLoader().

Référencé par run().

◆ arcaneInitialize()

void Arcane::ArcaneMain::arcaneInitialize ( )
static

Initialise Arcane.

Cette méthode doit être appelée avant tout utilisation d'un objet de Arcane. Elle peut être appelée plusieurs fois, auquel cas la méthode arcaneFinalize() doit être appelée un nombre de fois équivalent.

L'appel à run() provoque l'initialisation. Il n'est donc en général pas nécessaire de faire appel à cette méthode.

Définition à la ligne 718 du fichier ArcaneMain.cc.

Références Arcane::ItemGroupImpl::_buildSharedNull(), Arcane::ItemTypeMng::_singleton(), m_is_init_done, m_nb_arcane_init, et Arcane::platform::platformInitialize().

Référencé par run().

◆ arcaneMain()

int Arcane::ArcaneMain::arcaneMain ( const ApplicationInfo app_info,
IMainFactory factory = nullptr 
)
static

Point d'entrée de l'exécutable dans Arcane.

Note
Cette méthode ne doit pas être appelée directement. Il est préférable d'utiliser la classe ArcaneLauncher pour gérer le lancement d'une exécution.

Cette méthode effectue les appels suivants:

Paramètres
app_infoinformations sur l'exécutable.
factoryfabrique des gestionnaires de l'architecture. Si nul, utilise la fabrique spécifiée par setDefaultMainFactory() sinon une fabrique par défaut est utilisée.

L'appel à cette méthode doit être précédé de Initialize();

Valeurs retournées
0si l'exécution s'est déroulée sans erreur
1en cas d'erreur inconnue.
2en cas d'exception standard (std::exception)
3en cas d'exception de l'architecture (IArcaneException)
4en cas d'erreur fatale dans Arcane.

Définition à la ligne 891 du fichier ArcaneMain.cc.

Références _arcaneMain().

◆ build()

void Arcane::ArcaneMain::build ( )
overridevirtual

Construit les membres la classe. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée. Cette méthode doit être appelée avant initialize().

Avertissement
Cette méthode ne doit être appelée qu'une seule fois.

Implémente Arcane::IArcaneMain.

Réimplémentée dans Arcane::ArcaneMainBatch.

Définition à la ligne 1231 du fichier ArcaneMain.cc.

Références Arcane::IMainFactory::createApplication(), Arcane::ApplicationBuildInfo::threadBindingStrategy(), et Arcane::IBase::traceMng().

Référencé par Arcane::ArcaneMainBatch::build().

◆ callFunctorWithCatchedException()

int Arcane::ArcaneMain::callFunctorWithCatchedException ( IFunctor functor,
IArcaneMain amain,
bool clean_abort,
bool  is_print = true 
)
static

Appelle le fonctor functor en récupérant les éventuelles exceptions.

En retour clean_abort est vrai si le code s'arrête proprement, c'est à dire en parallèle que l'ensemble des processus et des threads exécutent le même code. C'est le cas par exemple si tous les procs détectent la même erreur et lancent par exemple un ParallelFatalErrorException. Dans ce cas, is_print indique si ce processus ou ce thread affiche les messages d'erreur. Si is_print est vrai, le message d'erreur est affiché sinon il ne l'est pas.

Si \ a clean_abort est faux, cela signifie que l'un des processus ou thread s'arrête sans que les autres ne le sachent, ce qui en générale se termine par MPI_Abort en parallèle.

Définition à la ligne 532 du fichier ArcaneMain.cc.

Références Arccore::ITraceMng::error(), Arccore::IFunctor::executeFunctor(), et Arccore::TraceAccessor::traceMng().

◆ defaultAcceleratorRuntimeInitialisationInfo()

AcceleratorRuntimeInitialisationInfo & Arcane::ArcaneMain::defaultAcceleratorRuntimeInitialisationInfo ( )
static

Informations pour l'initialisation des accélerateurs.

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run() ou à rundDirect().

Définition à la ligne 828 du fichier ArcaneMain.cc.

Référencé par Arcane::ArcaneLauncher::acceleratorRuntimeInitialisationInfo(), et Arcane::ArcaneMainExecInfo::initialize().

◆ defaultApplicationBuildInfo()

ApplicationBuildInfo & Arcane::ArcaneMain::defaultApplicationBuildInfo ( )
static

Informations pour l'initialisation des accélerateurs.

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run() ou à rundDirect().

Définition à la ligne 837 du fichier ArcaneMain.cc.

Référencé par Arcane::ArcaneLauncher::applicationBuildInfo().

◆ defaultApplicationInfo()

ApplicationInfo & Arcane::ArcaneMain::defaultApplicationInfo ( )
static

Infos par défaut de l'application.

Cette méthode permet de récupérer l'instance de ApplicationInfo qui sera utilisée lors de l'appel à arcaneMain() sans arguments.

Il faut donc en général appeler cette méthode avant l'appel à run().

Définition à la ligne 810 du fichier ArcaneMain.cc.

Référencé par Arcane::ArcaneLauncher::applicationInfo(), et run().

◆ defaultDotNetRuntimeInitialisationInfo()

DotNetRuntimeInitialisationInfo & Arcane::ArcaneMain::defaultDotNetRuntimeInitialisationInfo ( )
static

Informations pour l'initialisation du runtime '.Net'.

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run().

Définition à la ligne 819 du fichier ArcaneMain.cc.

Référencé par Arcane::ArcaneLauncher::dotNetRuntimeInitialisationInfo(), Arcane::ArcaneMainExecInfo::initialize(), et run().

◆ doAbort()

void Arcane::ArcaneMain::doAbort ( )
overridevirtual

Effectue un abort.

Implémente Arcane::IArcaneMain.

Réimplémentée dans Arcane::ArcaneMainBatch.

Définition à la ligne 1310 du fichier ArcaneMain.cc.

◆ dotnetRuntimeInitialisationInfo()

const DotNetRuntimeInitialisationInfo & Arcane::ArcaneMain::dotnetRuntimeInitialisationInfo ( ) const
overridevirtual

Informations d'initialisation du runtime '.Net'.

Implémente Arcane::IArcaneMain.

Définition à la ligne 864 du fichier ArcaneMain.cc.

◆ errorCode()

int Arcane::ArcaneMain::errorCode ( ) const
inlineoverridevirtual

Code d'erreur de l'exécution.

Implémente Arcane::IArcaneMain.

Définition à la ligne 311 du fichier ArcaneMain.h.

Référencé par Arcane::ArcaneMainBatch::finalize().

◆ execute()

int Arcane::ArcaneMain::execute ( )
overridevirtual

Lance l'exécution. Cette méthode ne retourne que lorsqu'on quitte le programme.

Renvoie
le code de retour d'Arcane, 0 si tout est ok.

Implémente Arcane::IArcaneMain.

Réimplémentée dans Arcane::ArcaneMainBatch.

Définition à la ligne 1301 du fichier ArcaneMain.cc.

◆ finalize()

void Arcane::ArcaneMain::finalize ( )
inlineoverridevirtual

Effectue les dernières opérations avant destruction de l'instance.

Implémente Arcane::IArcaneMain.

Réimplémentée dans Arcane::ArcaneMainBatch.

Définition à la ligne 312 du fichier ArcaneMain.h.

◆ hasDotNetWrapper()

bool Arcane::ArcaneMain::hasDotNetWrapper ( )
static

Indique si on exécute une assembly '.Net' depuis un main en C++.

Définition à la ligne 678 du fichier ArcaneMain.cc.

◆ hasGarbageCollector()

bool Arcane::ArcaneMain::hasGarbageCollector ( ) const
inlineoverridevirtual

Indique que certains objets sont gérés via un ramasse miette.

Implémente Arcane::IArcaneMain.

Définition à la ligne 324 du fichier ArcaneMain.h.

◆ initializationTimeForAccelerator()

Real Arcane::ArcaneMain::initializationTimeForAccelerator ( )
static

Retourne le temps (en seconde) pour l'initialisation des runtimes accélérateurs pour ce processus.

Retourne 0.0 si aucun runtime accélérateur n'a pas été initialisé.

Définition à la ligne 882 du fichier ArcaneMain.cc.

Référencé par Arcane::Application::initialize().

◆ initialize()

void Arcane::ArcaneMain::initialize ( )
overridevirtual

Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.

Avertissement
Cette méthode ne doit être appelée qu'une seule fois.

Implémente Arcane::IArcaneMain.

Réimplémentée dans Arcane::ArcaneMainBatch.

Définition à la ligne 1271 du fichier ArcaneMain.cc.

Références Arcane::IMainFactory::createServiceLoader(), et Arcane::IBase::initialize().

Référencé par Arcane::ArcaneMainBatch::initialize().

◆ isMasterIO()

static bool Arcane::ArcaneMain::isMasterIO ( )
inlinestatic

Définition à la ligne 300 du fichier ArcaneMain.h.

◆ mainFactory()

IMainFactory * Arcane::ArcaneMain::mainFactory ( ) const
inlineoverridevirtual

Fabrique principale.

Implémente Arcane::IArcaneMain.

Définition à la ligne 320 du fichier ArcaneMain.h.

◆ parseArgs()

bool Arcane::ArcaneMain::parseArgs ( StringList  args)
overridevirtual

Analyse les arguments.

Les arguments reconnus doivent être supprimés de la liste.

Valeurs retournées
truesi l'exécution doit s'arrêter,
falsesi elle continue normalement

Implémente Arcane::IArcaneMain.

Réimplémentée dans Arcane::ArcaneMainBatch.

Définition à la ligne 1337 du fichier ArcaneMain.cc.

Références application(), Arcane::CollectionBase::clear(), Arcane::CollectionBase::count(), et Arccore::String::null().

Référencé par Arcane::ArcaneMainBatch::parseArgs().

◆ redirectSignals()

void Arcane::ArcaneMain::redirectSignals ( )
static

Définition à la ligne 244 du fichier ArcaneMain.cc.

◆ registeredModuleFactoryInfos()

ModuleFactoryInfoCollection Arcane::ArcaneMain::registeredModuleFactoryInfos ( )
overridevirtual

Liste des fabriques de module enregistrées.

Implémente Arcane::IArcaneMain.

Définition à la ligne 1292 du fichier ArcaneMain.cc.

◆ registeredServiceFactoryInfos()

ServiceFactoryInfoCollection Arcane::ArcaneMain::registeredServiceFactoryInfos ( )
overridevirtual

Liste des fabriques de service enregistrées.

Implémente Arcane::IArcaneMain.

Définition à la ligne 1283 du fichier ArcaneMain.cc.

◆ run()

int Arcane::ArcaneMain::run ( )
static

Point d'entrée de l'exécutable dans Arcane.

Cette méthode appelle arcaneMain(const ApplicationInfo&,IMainFactory*) en utilisant les valeurs de defaultApplicationInfo() et de la fabrique spécifiée lors des appels à setDefaultMainFactory().

Définition à la ligne 955 du fichier ArcaneMain.cc.

Références arcaneFinalize(), arcaneInitialize(), Arcane::IArcaneMain::arcaneMain(), defaultApplicationInfo(), defaultDotNetRuntimeInitialisationInfo(), et Arcane::platform::hasDotNETRuntime().

Référencé par Arcane::ArcaneLauncher::run().

◆ setDefaultMainFactory()

void Arcane::ArcaneMain::setDefaultMainFactory ( IMainFactory mf)
static

Positionne la fabrique par défaut.

Cette méthode positionne la fabrique par défaut utilisée si aucune n'est spécifiée dans l'appel à arcaneMain().

Cette méthode doit être appelée avant arcaneMain().

Définition à la ligne 267 du fichier ArcaneMain.cc.

Référencé par Arcane::ArcaneLauncher::setDefaultMainFactory().

◆ setDirectExecuteFunctor()

void Arcane::ArcaneMain::setDirectExecuteFunctor ( IDirectSubDomainExecuteFunctor f)
inlineoverridevirtual

Implémente Arcane::IArcaneMain.

Définition à la ligne 325 du fichier ArcaneMain.h.

◆ setErrorCode()

void Arcane::ArcaneMain::setErrorCode ( int  errcode)
overridevirtual

Positionne le code de retour.

Implémente Arcane::IArcaneMain.

Définition à la ligne 1319 du fichier ArcaneMain.cc.

◆ setExecuteOverrideFunctor()

void Arcane::ArcaneMain::setExecuteOverrideFunctor ( ArcaneMainExecutionOverrideFunctor functor)
static

brief Fonctor d'exécution.

Cette méthode optionnelle permet de positionner un fonctor qui sera appelée à la place de execute(). Ce fonctor est appelé une fois l'application initialisée.

Comme l'appel à ce fonctor remplace l'exécution normale, seule une instance de IApplication est disponible. Il n'y a ni sous-domaine, ni session, ni maillage de disponible.

Définition à la ligne 669 du fichier ArcaneMain.cc.

◆ setHasDotNETRuntime()

void Arcane::ArcaneMain::setHasDotNETRuntime ( )
static

Indique que l'on tourne dans le runtime .NET.

Cette propriété ne peut être positionnée qu'au démarrage du calcul, avant l'appel à arcaneInitialize().

Définition à la ligne 656 du fichier ArcaneMain.cc.

Références m_nb_arcane_init, et Arcane::platform::setHasDotNETRuntime().

◆ setHasGarbageCollector()

void Arcane::ArcaneMain::setHasGarbageCollector ( )
static

Indique que certains objets sont gérés par un ramasse-miette.

Cette propriété ne peut être positionnée qu'au démarrage du calcul, avant l'appel à arcaneInitialize().

Définition à la ligne 643 du fichier ArcaneMain.cc.

Références m_nb_arcane_init.

◆ setUseTestLogger()

void Arcane::ArcaneMain::setUseTestLogger ( bool  v)
static

Définition à la ligne 258 du fichier ArcaneMain.cc.

Documentation des fonctions amies et associées

◆ ArcaneLauncher

Définition à la ligne 82 du fichier ArcaneMain.h.

◆ ArcaneMainAutoDetectRuntimeHelper

Définition à la ligne 83 du fichier ArcaneMain.h.

◆ ArcaneMainExecInfo

Définition à la ligne 81 du fichier ArcaneMain.h.

Documentation des données membres

◆ m_application

IApplication* Arcane::ArcaneMain::m_application = nullptr
private

Définition à la ligne 338 du fichier ArcaneMain.h.

◆ m_default_main_factory

IMainFactory * Arcane::ArcaneMain::m_default_main_factory = nullptr
staticprivate

Définition à la ligne 344 du fichier ArcaneMain.h.

◆ m_direct_sub_domain_execute_functor

IDirectSubDomainExecuteFunctor* Arcane::ArcaneMain::m_direct_sub_domain_execute_functor = nullptr
private

Définition à la ligne 340 du fichier ArcaneMain.h.

◆ m_error_code

int Arcane::ArcaneMain::m_error_code = 0
private

Définition à la ligne 339 du fichier ArcaneMain.h.

◆ m_exec_override_functor

ArcaneMainExecutionOverrideFunctor * Arcane::ArcaneMain::m_exec_override_functor = nullptr
staticprivate

Définition à la ligne 345 du fichier ArcaneMain.h.

◆ m_has_garbage_collector

bool Arcane::ArcaneMain::m_has_garbage_collector = false
staticprivate

Définition à la ligne 341 du fichier ArcaneMain.h.

◆ m_is_init_done

std::atomic< Int32 > Arcane::ArcaneMain::m_is_init_done
staticprivate

1 si init terminé, 0 sinon

Définition à la ligne 355 du fichier ArcaneMain.h.

Référencé par arcaneFinalize(), et arcaneInitialize().

◆ m_is_master_io

bool Arcane::ArcaneMain::m_is_master_io = true
staticprivate

Définition à la ligne 342 du fichier ArcaneMain.h.

◆ m_is_use_test_logger

bool Arcane::ArcaneMain::m_is_use_test_logger = false
staticprivate

Définition à la ligne 343 du fichier ArcaneMain.h.

◆ m_main_factory

IMainFactory* Arcane::ArcaneMain::m_main_factory = nullptr
private

Définition à la ligne 337 du fichier ArcaneMain.h.

◆ m_nb_arcane_init

std::atomic< Int32 > Arcane::ArcaneMain::m_nb_arcane_init
staticprivate

Nombre de fois que arcaneInitialize() a été appelé

Définition à la ligne 353 du fichier ArcaneMain.h.

Référencé par arcaneFinalize(), arcaneInitialize(), setHasDotNETRuntime(), et setHasGarbageCollector().

◆ m_p

Impl* Arcane::ArcaneMain::m_p
private

Définition à la ligne 336 du fichier ArcaneMain.h.


La documentation de cette classe a été générée à partir des fichiers suivants :