Fabrique d'un module. Plus de détails...
#include <arcane/core/ModuleFactory.h>
Fonctions membres publiques | |
ModuleFactory (Ref< IModuleFactory2 > factory, bool is_autoload) | |
Construit une fabrique pour un module. | |
void | addReference () override |
void | removeReference () override |
Ref< IModule > | createModule (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 IServiceInfo * | serviceInfo () const override |
Informations sur le module pouvant être créé par cette fabrique. | |
Attributs privés | |
Ref< IModuleFactory2 > | m_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. | |
Fabrique d'un module.
Définition à la ligne 39 du fichier ModuleFactory.h.
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.
|
override |
Définition à la ligne 53 du fichier ModuleFactory.cc.
|
overridevirtual |
Implémente Arcane::IModuleFactoryInfo.
Définition à la ligne 99 du fichier ModuleFactory.cc.
|
overridevirtual |
Créé un module.
L'implémentation doit appeler parent->moduleMng()->addModule() pour le module créé.
parent | Parent de ce module. |
mesh | maillage associé au module. |
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().
|
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.
|
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.
|
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().
|
overridevirtual |
Implémente Arcane::IModuleFactoryInfo.
Définition à la ligne 108 du fichier ModuleFactory.cc.
|
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.
|
private |
Définition à la ligne 68 du fichier ModuleFactory.h.
|
private |
Définition à la ligne 69 du fichier ModuleFactory.h.
|
private |
Définition à la ligne 70 du fichier ModuleFactory.h.
|
private |
Définition à la ligne 71 du fichier ModuleFactory.h.