14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/String.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/TraceInfo.h"
20#include "arcane/ModuleFactory.h"
21#include "arcane/IModuleMng.h"
22#include "arcane/IModule.h"
23#include "arcane/ISubDomain.h"
24#include "arcane/IServiceInfo.h"
25#include "arcane/IMesh.h"
27#include "arcane/utils/Iostream.h"
42, m_name(factory->moduleName())
67 Ref<IModule> module = m_factory->createModuleInstance(parent,mesh_handle);
72 parent->
checkId(
"ModuleFactory::createModule",module->name());
84 m_factory->initializeModuleFactory(
sub_domain);
93 return m_factory->serviceInfo();
114 Int32 v = std::atomic_fetch_add(&m_nb_ref,-1);
122ModuleFactoryReference::
123ModuleFactoryReference(Ref<IModuleFactory2> factory,
bool is_autoload)
124: Base(new ModuleFactory(factory,is_autoload))
139 delete m_service_info;
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Interface des informations d'un service ou d'un module.
virtual IServiceFactoryInfo * factoryInfo() const =0
Infos sur les fabriques disponibles pour ce service.
Interface du gestionnaire d'un sous-domaine.
virtual IModuleMng * moduleMng()=0
Retourne le gestionnaire de modules.
virtual void checkId(const String &where, const String &id)=0
Vérifie qu'un identifiant est valide.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
ModuleFactory(Ref< IModuleFactory2 > factory, bool is_autoload)
Construit une fabrique pour un module.
Ref< IModule > createModule(ISubDomain *parent, const MeshHandle &mesh_handle) override
Créé un module.
String moduleName() const override
Nom du module créé par cette fabrique.
void initializeModuleFactory(ISubDomain *sub_domain) override
Si la fabrique est un pour un module, l'initialise sur le sous-domaine sub_domain.
const IServiceInfo * serviceInfo() const override
Informations sur le module pouvant être créé par cette fabrique.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-