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

Module manager. More...

Inheritance diagram for Arcane::ModuleMng:
Collaboration diagram for Arcane::ModuleMng:

Public Member Functions

 ModuleMng (ISubDomain *)
 ~ModuleMng ()
void addModule (Ref< IModule >) override
 Adds module m to the manager.
void removeModule (Ref< IModule >) override
 Removes module m.
void dumpList (std::ostream &) override
 Prints the list of modules in the manager to a stream o.
ModuleCollection modules () const override
 List of modules.
void removeAllModules () override
 Removes and destroys modules managed by this manager.
bool isModuleActive (const String &name) override
 Indicates if the module named name is active.
IModulefindModule (const String &name) override
 Returns the instance of the module named name.
Public Member Functions inherited from Arcane::IModuleMng
virtual ~IModuleMng ()
 Destructor.

Private Member Functions

IModule_findModule (const String &name)

Private Attributes

ModuleList m_modules
 List of modules.
std::map< String, Ref< IModule > > m_modules_map

Detailed Description

Module manager.

Definition at line 41 of file ModuleMng.cc.

Constructor & Destructor Documentation

◆ ModuleMng()

Arcane::ModuleMng::ModuleMng ( ISubDomain * sd)

Definition at line 76 of file ModuleMng.cc.

◆ ~ModuleMng()

Arcane::ModuleMng::~ModuleMng ( )
Todo
check MPI crash when doing the delete.

Definition at line 87 of file ModuleMng.cc.

References removeAllModules().

Here is the call graph for this function:

Member Function Documentation

◆ _findModule()

IModule * Arcane::ModuleMng::_findModule ( const String & name)
private

Definition at line 168 of file ModuleMng.cc.

◆ addModule()

void Arcane::ModuleMng::addModule ( Ref< IModule > m)
overridevirtual

Adds module m to the manager.

Implements Arcane::IModuleMng.

Definition at line 106 of file ModuleMng.cc.

References ARCANE_FATAL, Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), and m_modules.

Here is the call graph for this function:

◆ dumpList()

void Arcane::ModuleMng::dumpList ( std::ostream & o)
overridevirtual

Prints the list of modules in the manager to a stream o.

Implements Arcane::IModuleMng.

Definition at line 133 of file ModuleMng.cc.

References m_modules.

◆ findModule()

IModule * Arcane::ModuleMng::findModule ( const String & name)
overridevirtual

Returns the instance of the module named name.

If no module named name exists, returns 0.

Implements Arcane::IModuleMng.

Definition at line 159 of file ModuleMng.cc.

◆ isModuleActive()

bool Arcane::ModuleMng::isModuleActive ( const String & name)
overridevirtual

Indicates if the module named name is active.

If no module named name exists, returns false.

Implements Arcane::IModuleMng.

Definition at line 147 of file ModuleMng.cc.

◆ modules()

ModuleCollection Arcane::ModuleMng::modules ( ) const
inlineoverridevirtual

List of modules.

Implements Arcane::IModuleMng.

Definition at line 52 of file ModuleMng.cc.

References m_modules.

◆ removeAllModules()

void Arcane::ModuleMng::removeAllModules ( )
overridevirtual

Removes and destroys modules managed by this manager.

Implements Arcane::IModuleMng.

Definition at line 96 of file ModuleMng.cc.

References m_modules.

Referenced by ~ModuleMng().

Here is the caller graph for this function:

◆ removeModule()

void Arcane::ModuleMng::removeModule ( Ref< IModule > m)
overridevirtual

Removes module m.

Implements Arcane::IModuleMng.

Definition at line 120 of file ModuleMng.cc.

References Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), and m_modules.

Here is the call graph for this function:

Member Data Documentation

◆ m_modules

ModuleList Arcane::ModuleMng::m_modules
private

List of modules.

Definition at line 59 of file ModuleMng.cc.

Referenced by addModule(), dumpList(), modules(), removeAllModules(), and removeModule().

◆ m_modules_map

std::map<String, Ref<IModule> > Arcane::ModuleMng::m_modules_map
private

Definition at line 60 of file ModuleMng.cc.


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