Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::AbstractModule Class Reference

Class representing a module. More...

#include <arcane/core/AbstractModule.h>

Inheritance diagram for Arcane::AbstractModule:
Collaboration diagram for Arcane::AbstractModule:

Public Member Functions

 AbstractModule (const ModuleBuildInfo &)
 Constructor from a ModuleBuildInfo.
virtual ~AbstractModule ()
 Destructor.
VersionInfo versionInfo () const override
 Module version.
String name () const override
 Module name.
ISessionsession () const override
 Session associated with the module.
ISubDomainsubDomain () const override
 Sub-domain associated with the module.
IMeshdefaultMesh () const override
 Default mesh for this module.
MeshHandle defaultMeshHandle () const override
 Default mesh for this module.
IParallelMngparallelMng () const override
 Message passing parallelism manager.
IAcceleratorMngacceleratorMng () const override
 Accelerator manager.
ITraceMngtraceMng () const override
 Trace manager.
void setUsed (bool v) override
 Sets the module usage flag.
bool used () const override
 Returns the module usage status.
void setDisabled (bool v) override
 Sets the module activation flag.
bool disabled () const override
 Returns the module activation status.
bool isGarbageCollected () const override
 Indicates if the module uses a Garbage collection system.
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IModule
virtual ~IModule ()
 Destructor.

Static Public Member Functions

static void staticInitialize (ISubDomain *sd)
 Initialization of the module for the sub-domain sd.

Protected Member Functions

void _setVersionInfo (const VersionInfo &vi)
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Private Attributes

ISessionm_session
 Session.
ISubDomainm_sub_domain
 sub-domain
MeshHandle m_default_mesh_handle
 Default mesh of the module.
String m_name
 Module name.
bool m_used
 true if the module is used
bool m_disabled
 Module activation status.
VersionInfo m_version_info
 Module version.
IAcceleratorMngm_accelerator_mng
 Accelerator manager.

Detailed Description

Class representing a module.

This class is THE low-level implementation class of the IModule interface.

Definition at line 47 of file AbstractModule.h.

Constructor & Destructor Documentation

◆ AbstractModule()

Arcane::AbstractModule::AbstractModule ( const ModuleBuildInfo & mbi)

Constructor from a ModuleBuildInfo.

Definition at line 29 of file AbstractModule.cc.

References acceleratorMng(), m_accelerator_mng, m_default_mesh_handle, m_disabled, m_name, m_session, m_sub_domain, m_used, m_version_info, name(), session(), subDomain(), Arcane::TraceAccessor::TraceAccessor(), and traceMng().

Referenced by Arcane::BasicModule::BasicModule(), and Arcane::ModuleMaster::ModuleMaster().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~AbstractModule()

Arcane::AbstractModule::~AbstractModule ( )
virtual

Destructor.

Definition at line 46 of file AbstractModule.cc.

Member Function Documentation

◆ _setVersionInfo()

void Arcane::AbstractModule::_setVersionInfo ( const VersionInfo & vi)
inlineprotected

Definition at line 127 of file AbstractModule.h.

◆ acceleratorMng()

IAcceleratorMng * Arcane::AbstractModule::acceleratorMng ( ) const
overridevirtual

Accelerator manager.

Implements Arcane::IModule.

Definition at line 63 of file AbstractModule.cc.

References m_accelerator_mng.

Referenced by AbstractModule().

Here is the caller graph for this function:

◆ defaultMesh()

IMesh * Arcane::AbstractModule::defaultMesh ( ) const
inlineoverridevirtual

Default mesh for this module.

Implements Arcane::IModule.

Definition at line 91 of file AbstractModule.h.

References m_default_mesh_handle.

Referenced by Arcane::ArcanePostProcessingModule::_readConfig().

Here is the caller graph for this function:

◆ defaultMeshHandle()

MeshHandle Arcane::AbstractModule::defaultMeshHandle ( ) const
inlineoverridevirtual

Default mesh for this module.

Implements Arcane::IModule.

Definition at line 93 of file AbstractModule.h.

References m_default_mesh_handle.

◆ disabled()

bool Arcane::AbstractModule::disabled ( ) const
inlineoverridevirtual

Returns the module activation status.

Implements Arcane::IModule.

Definition at line 107 of file AbstractModule.h.

References m_disabled.

◆ isGarbageCollected()

bool Arcane::AbstractModule::isGarbageCollected ( ) const
inlineoverridevirtual

Indicates if the module uses a Garbage collection system.

  • if true, indicates destruction by a Garbage collector and not explicit destruction
  • if false, this module will be destroyed explicitly by calling its destructor

The Garbage collection system is usually activated for modules resulting from a C# implementation. Classic modules in C++ do not have this mechanism.

Todo
Check in ModuleMng::removeModule the use of this indication. A call to the Deleter as in ModuleMng::removeAllModules might be necessary.

Implements Arcane::IModule.

Definition at line 123 of file AbstractModule.h.

◆ name()

String Arcane::AbstractModule::name ( ) const
inlineoverridevirtual

Module name.

Implements Arcane::IModule.

Definition at line 85 of file AbstractModule.h.

References m_name.

Referenced by AbstractModule(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), and Arcane::TimeHistoryMng2::removeCurveWriter().

Here is the caller graph for this function:

◆ parallelMng()

IParallelMng * Arcane::AbstractModule::parallelMng ( ) const
overridevirtual

Message passing parallelism manager.

Implements Arcane::IModule.

Definition at line 54 of file AbstractModule.cc.

References m_sub_domain.

Referenced by Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), Arcane::TimeHistoryMng2::addValue(), and Arcane::ModuleMaster::timeLoopBegin().

Here is the caller graph for this function:

◆ session()

ISession * Arcane::AbstractModule::session ( ) const
inlineoverridevirtual

Session associated with the module.

Implements Arcane::IModule.

Definition at line 87 of file AbstractModule.h.

References m_session.

Referenced by AbstractModule().

Here is the caller graph for this function:

◆ setDisabled()

void Arcane::AbstractModule::setDisabled ( bool v)
inlineoverridevirtual

Sets the module activation flag.

Implements Arcane::IModule.

Definition at line 105 of file AbstractModule.h.

References m_disabled.

◆ setUsed()

void Arcane::AbstractModule::setUsed ( bool v)
inlineoverridevirtual

Sets the module usage flag.

Implements Arcane::IModule.

Definition at line 101 of file AbstractModule.h.

References m_used.

◆ staticInitialize()

void Arcane::AbstractModule::staticInitialize ( ISubDomain * sd)
inlinestatic

Initialization of the module for the sub-domain sd.

This static method can be redefined in a derived class to perform initializations for the sub-domain sd even if the module is not used.

A common use is registering entry points for modules without .axl

This method will be called during the sub-domain creation phase on all Modules (even unused ones).

Definition at line 80 of file AbstractModule.h.

◆ subDomain()

◆ traceMng()

ITraceMng * Arcane::AbstractModule::traceMng ( ) const
overridevirtual

Trace manager.

Implements Arcane::IModule.

Definition at line 72 of file AbstractModule.cc.

References Arcane::TraceAccessor::traceMng().

Referenced by AbstractModule(), and ArcaneTest::AlephMultiTest::init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ used()

bool Arcane::AbstractModule::used ( ) const
inlineoverridevirtual

Returns the module usage status.

Implements Arcane::IModule.

Definition at line 103 of file AbstractModule.h.

References m_used.

◆ versionInfo()

VersionInfo Arcane::AbstractModule::versionInfo ( ) const
inlineoverridevirtual

Member Data Documentation

◆ m_accelerator_mng

IAcceleratorMng* Arcane::AbstractModule::m_accelerator_mng
private

Accelerator manager.

Definition at line 141 of file AbstractModule.h.

Referenced by AbstractModule(), and acceleratorMng().

◆ m_default_mesh_handle

MeshHandle Arcane::AbstractModule::m_default_mesh_handle
private

Default mesh of the module.

Definition at line 136 of file AbstractModule.h.

Referenced by AbstractModule(), defaultMesh(), and defaultMeshHandle().

◆ m_disabled

bool Arcane::AbstractModule::m_disabled
private

Module activation status.

Definition at line 139 of file AbstractModule.h.

Referenced by AbstractModule(), disabled(), and setDisabled().

◆ m_name

String Arcane::AbstractModule::m_name
private

Module name.

Definition at line 137 of file AbstractModule.h.

Referenced by AbstractModule(), and name().

◆ m_session

ISession* Arcane::AbstractModule::m_session
private

Session.

Definition at line 134 of file AbstractModule.h.

Referenced by AbstractModule(), and session().

◆ m_sub_domain

ISubDomain* Arcane::AbstractModule::m_sub_domain
private

sub-domain

Definition at line 135 of file AbstractModule.h.

Referenced by AbstractModule(), parallelMng(), and subDomain().

◆ m_used

bool Arcane::AbstractModule::m_used
private

true if the module is used

Definition at line 138 of file AbstractModule.h.

Referenced by AbstractModule(), setUsed(), and used().

◆ m_version_info

VersionInfo Arcane::AbstractModule::m_version_info
private

Module version.

Definition at line 140 of file AbstractModule.h.

Referenced by AbstractModule(), and versionInfo().


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