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

Fabrique d'un module. Plus de détails...

#include <arcane/core/ModuleFactory.h>

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

Fonctions membres publiques

 ModuleFactory (Ref< IModuleFactory2 > factory, bool is_autoload)
 Construit une fabrique pour un module.
 
void addReference () override
 
void removeReference () override
 
Ref< IModulecreateModule (ISubDomain *parent, const MeshHandle &mesh_handle) override
 Créé un module.
 
bool isAutoload () const override
 Indique si le module et doit être chargé automatiquement.
 
void initializeModuleFactory (ISubDomain *sub_domain) override
 Si la fabrique est un pour un module, l'initialise sur le sous-domaine sub_domain.
 
String moduleName () const override
 Nom du module créé par cette fabrique.
 
const IServiceInfoserviceInfo () const override
 Informations sur le module pouvant être créé par cette fabrique.
 

Attributs privés

Ref< IModuleFactory2m_factory
 
bool m_is_autoload
 
String m_name
 
std::atomic< Int32 > m_nb_ref
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::IModuleFactoryInfo
virtual ~IModuleFactoryInfo ()
 Libère les ressources.
 

Description détaillée

Fabrique d'un module.

Définition à la ligne 39 du fichier ModuleFactory.h.

Documentation des constructeurs et destructeur

◆ ModuleFactory()

Arcane::ModuleFactory::ModuleFactory ( Ref< IModuleFactory2 factory,
bool  is_autoload 
)

Construit une fabrique pour un module.

Ce constructeur est celui utilisé par les macros ARCANE_REGISTER_MODULE et ARCANE_REGISTER_AXL_MODULE.

Cette instance devient propriétaire de factory et la détruira dans le destructeur.

Définition à la ligne 38 du fichier ModuleFactory.cc.

◆ ~ModuleFactory()

Arcane::ModuleFactory::~ModuleFactory ( )
override

Définition à la ligne 53 du fichier ModuleFactory.cc.

Documentation des fonctions membres

◆ addReference()

void Arcane::ModuleFactory::addReference ( )
overridevirtual

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 99 du fichier ModuleFactory.cc.

◆ createModule()

Ref< IModule > Arcane::ModuleFactory::createModule ( ISubDomain parent,
const MeshHandle mesh_handle 
)
overridevirtual

Créé un module.

L'implémentation doit appeler parent->moduleMng()->addModule() pour le module créé.

Paramètres
parentParent de ce module.
meshmaillage associé au module.
Renvoie
le module créé

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 61 du fichier ModuleFactory.cc.

Références ARCANE_FATAL, Arcane::ISubDomain::checkId(), Arcane::ISubDomain::moduleMng(), et moduleName().

◆ initializeModuleFactory()

void Arcane::ModuleFactory::initializeModuleFactory ( ISubDomain sub_domain)
overridevirtual

Si la fabrique est un pour un module, l'initialise sur le sous-domaine sub_domain.

Cette méthode est appelée lorsque le sous-domaine est créé, pour effectuer certaines initialisations spécifiques du module avant que celui-ci ne soit fabriqué. Par exemple, pour ajouter des boucles en temps propres au module.

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 81 du fichier ModuleFactory.cc.

◆ isAutoload()

bool Arcane::ModuleFactory::isAutoload ( ) const
inlineoverridevirtual

Indique si le module et doit être chargé automatiquement.

Si cette propriété est vrai, le module sera toujours chargé même s'il n'apparait pas dans la boucle en temps.

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 61 du fichier ModuleFactory.h.

◆ moduleName()

String Arcane::ModuleFactory::moduleName ( ) const
inlineoverridevirtual

Nom du module créé par cette fabrique.

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 63 du fichier ModuleFactory.h.

Référencé par createModule().

◆ removeReference()

void Arcane::ModuleFactory::removeReference ( )
overridevirtual

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 108 du fichier ModuleFactory.cc.

◆ serviceInfo()

const IServiceInfo * Arcane::ModuleFactory::serviceInfo ( ) const
overridevirtual

Informations sur le module pouvant être créé par cette fabrique.

L'instance retournée reste la propriété de l'application l'ayant créée et ne doit ni être modifiée, ni être détruite.

Implémente Arcane::IModuleFactoryInfo.

Définition à la ligne 90 du fichier ModuleFactory.cc.

Documentation des données membres

◆ m_factory

Ref<IModuleFactory2> Arcane::ModuleFactory::m_factory
private

Définition à la ligne 68 du fichier ModuleFactory.h.

◆ m_is_autoload

bool Arcane::ModuleFactory::m_is_autoload
private

Définition à la ligne 69 du fichier ModuleFactory.h.

◆ m_name

String Arcane::ModuleFactory::m_name
private

Définition à la ligne 70 du fichier ModuleFactory.h.

◆ m_nb_ref

std::atomic<Int32> Arcane::ModuleFactory::m_nb_ref
private

Définition à la ligne 71 du fichier ModuleFactory.h.


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