Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IArcaneMain Class Referenceabstract

Interface of the code management class. More...

#include <arcane/core/IArcaneMain.h>

Inheritance diagram for Arcane::IArcaneMain:
Collaboration diagram for Arcane::IArcaneMain:

Public Member Functions

virtual ~IArcaneMain ()
 Releases resources.
virtual void build ()=0
 Constructs the class members. The instance is not usable until this method has been called. This method must be called before initialize().
virtual void initialize ()=0
 Initializes the instance. The instance is not usable until this method has been called.
virtual bool parseArgs (StringList args)=0
 Parses arguments.
virtual int execute ()=0
 Starts execution. This method only returns when the program exits.
virtual void finalize ()=0
 Performs the last operations before instance destruction.
virtual int errorCode () const =0
 Execution error code.
virtual void setErrorCode (int errcode)=0
 Sets the return code.
virtual void doAbort ()=0
 Performs an abort.
virtual const ApplicationInfoapplicationInfo () const =0
 Executable information.
virtual const ApplicationBuildInfoapplicationBuildInfo () const =0
 Information to build the IApplication instance.
virtual const DotNetRuntimeInitialisationInfodotnetRuntimeInitialisationInfo () const =0
 .Net runtime initialization information.
virtual const AcceleratorRuntimeInitialisationInfoacceleratorRuntimeInitialisationInfo () const =0
 Runtime initialization information for accelerators.
virtual IMainFactorymainFactory () const =0
 Main factory.
virtual IApplicationapplication () const =0
 Application.
virtual bool hasGarbageCollector () const =0
 Indicates that certain objects are managed via a garbage collector.
virtual ServiceFactoryInfoCollection registeredServiceFactoryInfos ()=0
 List of registered service factories.
virtual ModuleFactoryInfoCollection registeredModuleFactoryInfos ()=0
 List of registered module factories.
virtual void setDirectExecuteFunctor (IDirectSubDomainExecuteFunctor *f)=0

Static Public Member Functions

static IArcaneMainarcaneMain ()
static void setArcaneMain (IArcaneMain *arcane_main)

Static Private Attributes

static IArcaneMainglobal_arcane_main = 0

Detailed Description

Interface of the code management class.

This virtual class is used for the creation and initialization of instances of code managers. It also controls the execution of a case.

An instance of this class is created via the method IMainFactory::createArcaneMain(), called by IMainFactory::arcaneMain().

The implementation must at least take into account the following aspects.

  • Analyze the command line.
  • Create an instance of a supervisor (IMainFactory::createSuperMng()), build it (ISuperMng::build()) and initialize it (ISuperMng::initialize()).
  • Create an instance of the module loader (IMainFactory::createModuleLoader())

Definition at line 54 of file IArcaneMain.h.

Constructor & Destructor Documentation

◆ ~IArcaneMain()

virtual Arcane::IArcaneMain::~IArcaneMain ( )
inlinevirtual

Releases resources.

Definition at line 59 of file IArcaneMain.h.

Member Function Documentation

◆ acceleratorRuntimeInitialisationInfo()

virtual const AcceleratorRuntimeInitialisationInfo & Arcane::IArcaneMain::acceleratorRuntimeInitialisationInfo ( ) const
pure virtual

Runtime initialization information for accelerators.

Implemented in Arcane::ArcaneMain.

◆ application()

virtual IApplication * Arcane::IArcaneMain::application ( ) const
pure virtual

Application.

Implemented in Arcane::ArcaneMain.

Referenced by Arcane::ArcaneMain::callFunctorWithCatchedException().

Here is the caller graph for this function:

◆ applicationBuildInfo()

virtual const ApplicationBuildInfo & Arcane::IArcaneMain::applicationBuildInfo ( ) const
pure virtual

Information to build the IApplication instance.

Implemented in Arcane::ArcaneMain.

◆ applicationInfo()

virtual const ApplicationInfo & Arcane::IArcaneMain::applicationInfo ( ) const
pure virtual

Executable information.

Implemented in Arcane::ArcaneMain.

◆ arcaneMain()

IArcaneMain * Arcane::IArcaneMain::arcaneMain ( )
static

Retrieves the global instance.

Warning
The global instance is only available during the call to ArcaneMain::arcaneMain().

Definition at line 165 of file InterfaceImpl.cc.

Referenced by Arcane::MpiBatchMainFactory::exec(), and Arcane::ArcaneMain::run().

Here is the caller graph for this function:

◆ build()

virtual void Arcane::IArcaneMain::build ( )
pure virtual

Constructs the class members. The instance is not usable until this method has been called. This method must be called before initialize().

Warning
This method must only be called once.

Implemented in Arcane::ArcaneMain, and Arcane::ArcaneMainBatch.

◆ doAbort()

virtual void Arcane::IArcaneMain::doAbort ( )
pure virtual

Performs an abort.

Implemented in Arcane::ArcaneMain, and Arcane::ArcaneMainBatch.

◆ dotnetRuntimeInitialisationInfo()

virtual const DotNetRuntimeInitialisationInfo & Arcane::IArcaneMain::dotnetRuntimeInitialisationInfo ( ) const
pure virtual

.Net runtime initialization information.

Implemented in Arcane::ArcaneMain.

◆ errorCode()

virtual int Arcane::IArcaneMain::errorCode ( ) const
pure virtual

Execution error code.

Implemented in Arcane::ArcaneMain.

◆ execute()

virtual int Arcane::IArcaneMain::execute ( )
pure virtual

Starts execution. This method only returns when the program exits.

Returns
the Arcane return code, 0 if everything is okay.

Implemented in Arcane::ArcaneMain, and Arcane::ArcaneMainBatch.

◆ finalize()

virtual void Arcane::IArcaneMain::finalize ( )
pure virtual

Performs the last operations before instance destruction.

Implemented in Arcane::ArcaneMain, and Arcane::ArcaneMainBatch.

◆ hasGarbageCollector()

virtual bool Arcane::IArcaneMain::hasGarbageCollector ( ) const
pure virtual

Indicates that certain objects are managed via a garbage collector.

Implemented in Arcane::ArcaneMain.

◆ initialize()

virtual void Arcane::IArcaneMain::initialize ( )
pure virtual

Initializes the instance. The instance is not usable until this method has been called.

Warning
This method must only be called once.

Implemented in Arcane::ArcaneMain, and Arcane::ArcaneMainBatch.

◆ mainFactory()

virtual IMainFactory * Arcane::IArcaneMain::mainFactory ( ) const
pure virtual

Main factory.

Implemented in Arcane::ArcaneMain.

◆ parseArgs()

virtual bool Arcane::IArcaneMain::parseArgs ( StringList args)
pure virtual

Parses arguments.

Recognized arguments must be removed from the list.

Return values
trueif execution must stop,
falseif it continues normally

Implemented in Arcane::ArcaneMain, and Arcane::ArcaneMainBatch.

◆ registeredModuleFactoryInfos()

virtual ModuleFactoryInfoCollection Arcane::IArcaneMain::registeredModuleFactoryInfos ( )
pure virtual

List of registered module factories.

Implemented in Arcane::ArcaneMain.

◆ registeredServiceFactoryInfos()

virtual ServiceFactoryInfoCollection Arcane::IArcaneMain::registeredServiceFactoryInfos ( )
pure virtual

List of registered service factories.

Implemented in Arcane::ArcaneMain.

◆ setArcaneMain()

void Arcane::IArcaneMain::setArcaneMain ( IArcaneMain * arcane_main)
static

.

Definition at line 174 of file InterfaceImpl.cc.

Referenced by Arcane::ArcaneMainExecInfo::initialize().

Here is the caller graph for this function:

◆ setErrorCode()

virtual void Arcane::IArcaneMain::setErrorCode ( int errcode)
pure virtual

Sets the return code.

Implemented in Arcane::ArcaneMain.

Member Data Documentation

◆ global_arcane_main

IArcaneMain * Arcane::IArcaneMain::global_arcane_main = 0
staticprivate

Definition at line 77 of file IArcaneMain.h.


The documentation for this class was generated from the following files: