Creation of Arcane classes. More...
#include <arcane/impl/MainFactory.h>
Public Member Functions | |
| IArcaneMain * | createArcaneMain (const ApplicationInfo &app_info) override |
| Creates an instance of IArcaneMain. | |
| IApplication * | createApplication (IArcaneMain *) override |
| Creates an instance of a supervisor. | |
| IVariableMng * | createVariableMng (ISubDomain *) override |
| Creates an instance of the variable manager. | |
| IModuleMng * | createModuleMng (ISubDomain *) override |
| Creates an instance of the module manager. | |
| IEntryPointMng * | createEntryPointMng (ISubDomain *) override |
| Creates an instance of the entry point manager. | |
| ITimeHistoryMng * | createTimeHistoryMng (ISubDomain *) override |
| Creates an instance of the time history manager. | |
| ICaseMng * | createCaseMng (ISubDomain *) override |
| Creates an instance of the case manager. | |
| ICaseDocument * | createCaseDocument (IApplication *) override |
| Creates an instance of a case document. | |
| ICaseDocument * | createCaseDocument (IApplication *, const String &lang) override |
| Creates an instance of a case document for a given language lang. | |
| ICaseDocument * | createCaseDocument (IApplication *, IXmlDocumentHolder *doc) override |
| Creates an instance of a case document. | |
| ITimeStats * | createTimeStats (ISubDomain *) override |
| Creates an instance of execution time statistics. | |
| ITimeStats * | createTimeStats (ITimerMng *tim, ITraceMng *trm, const String &name) override |
| Creates an instance of execution time statistics. | |
| ITimeLoopMng * | createTimeLoopMng (ISubDomain *) override |
| Creates an instance of the time loop manager. | |
| ITimeLoop * | createTimeLoop (IApplication *sm, const String &name) override |
| Creates a time loop named name. | |
| IIOMng * | createIOMng (IApplication *) override |
| Creates an instance of the I/O manager. | |
| IIOMng * | createIOMng (IParallelMng *pm) override |
| Creates an instance of the I/O manager for the parallelism manager pm. | |
| IServiceLoader * | createServiceLoader () override |
| Creates an instance of the service loader. | |
| IServiceMng * | createServiceMng (IBase *) override |
| Creates an instance of the service manager. | |
| ICheckpointMng * | createCheckpointMng (ISubDomain *) override |
| Creates an instance of the checkpoint manager. | |
| IPropertyMng * | createPropertyMng (ISubDomain *) override |
| Creates an instance of the property manager. | |
| Ref< IPropertyMng > | createPropertyMngReference (ISubDomain *) override |
| Creates an instance of the property manager. | |
| IPrimaryMesh * | createMesh (ISubDomain *sub_domain, const String &name) override |
| Creates or retrieves a mesh. | |
| IPrimaryMesh * | createMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name) override |
| Creates or retrieves a mesh. | |
| IPrimaryMesh * | createMesh (ISubDomain *sub_domain, const String &name, bool is_amr) override |
| Creates or retrieves a mesh. | |
| IPrimaryMesh * | createMesh (ISubDomain *sub_domain, const String &name, eMeshAMRKind amr_type) override |
| Creates or retrieves a mesh. | |
| IPrimaryMesh * | createMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name, bool is_amr) override |
| Creates or retrieves a mesh. | |
| IPrimaryMesh * | createMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name, eMeshAMRKind amr_type) override |
| Creates or retrieves a mesh. | |
| IMesh * | createSubMesh (IMesh *mesh, const ItemGroup &group, const String &name) override |
| Creates a sub-mesh for the mesh mesh, named name. | |
| IDataFactory * | createDataFactory (IApplication *) override |
| Creates a factory for data. | |
| Ref< IDataFactoryMng > | createDataFactoryMngRef (IApplication *) override |
| Creates a factory manager for data. | |
| Ref< IAcceleratorMng > | createAcceleratorMngRef (ITraceMng *tm) override |
| Creates a manager for accelerators. | |
| ITraceMng * | createTraceMng () override |
| Creates a trace manager. | |
| ITraceMngPolicy * | createTraceMngPolicy (IApplication *app) override |
| Creates a configuration manager for a trace manager. | |
| IModuleMaster * | createModuleMaster (ISubDomain *sd) override |
| Creates the master module for the sub-domain sd. | |
| ILoadBalanceMng * | createLoadBalanceMng (ISubDomain *sd) override |
| Creates a description manager for load balancing. | |
| Public Member Functions inherited from Arcane::IMainFactory | |
| virtual | ~IMainFactory () |
| Releases resources. | |
Creation of Arcane classes.
Arcane provides default factories for most managers (ISuperMng, IParallelSuperMng, ...). However, the class managing the code must be specified by implementing the createArcaneMain() method in a derived class.
The general entry point of the code is achieved by calling the function arcaneMain().
For example, if we define a class ConcreteMainFactory that derives from MainFactory, we run the code as follows:
Definition at line 52 of file MainFactory.h.
| Arcane::MainFactory::MainFactory | ( | ) |
Definition at line 106 of file MainFactory.cc.
|
override |
Definition at line 114 of file MainFactory.cc.
|
overridevirtual |
Creates a manager for accelerators.
Implements Arcane::IMainFactory.
Definition at line 411 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of a supervisor.
Implements Arcane::IMainFactory.
Definition at line 131 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of IArcaneMain.
Implements Arcane::IMainFactory.
Reimplemented in Arcane::MpiBatchMainFactory.
Definition at line 122 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of a case document.
Implements Arcane::IMainFactory.
Definition at line 288 of file MainFactory.cc.
References Arcane::IBase::traceMng().
|
overridevirtual |
Creates an instance of a case document for a given language lang.
Implements Arcane::IMainFactory.
Definition at line 297 of file MainFactory.cc.
References Arcane::IBase::traceMng().
|
overridevirtual |
Creates an instance of a case document.
Implements Arcane::IMainFactory.
Definition at line 306 of file MainFactory.cc.
References Arcane::IBase::traceMng().
|
overridevirtual |
Creates an instance of the case manager.
Implements Arcane::IMainFactory.
Definition at line 178 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the checkpoint manager.
Implements Arcane::IMainFactory.
Definition at line 261 of file MainFactory.cc.
|
overridevirtual |
Creates a factory for data.
Implements Arcane::IMainFactory.
Definition at line 393 of file MainFactory.cc.
|
overridevirtual |
Creates a factory manager for data.
Implements Arcane::IMainFactory.
Definition at line 402 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the entry point manager.
Implements Arcane::IMainFactory.
Definition at line 158 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the I/O manager.
Implements Arcane::IMainFactory.
Definition at line 225 of file MainFactory.cc.
References Arcane::IApplication::parallelSuperMng().
|
overridevirtual |
Creates an instance of the I/O manager for the parallelism manager pm.
Implements Arcane::IMainFactory.
Definition at line 234 of file MainFactory.cc.
|
overridevirtual |
Creates a description manager for load balancing.
Implements Arcane::IMainFactory.
Definition at line 452 of file MainFactory.cc.
|
overridevirtual |
Creates or retrieves a mesh.
Creates or retrieves a mesh named name for the sub-domain sub_domain.
If the sub-domain already has a mesh with the name name, the latter is returned.
Implements Arcane::IMainFactory.
Definition at line 359 of file MainFactory.cc.
References createMesh(), Arcane::None, and Arcane::ISubDomain::parallelMng().
Referenced by createMesh(), createMesh(), createMesh(), createMesh(), and createMesh().
|
overridevirtual |
Creates or retrieves a mesh.
Creates or retrieves a mesh named name for the sub-domain sub_domain.
If the sub-domain already has a mesh with the name name, the latter is returned.
Implements Arcane::IMainFactory.
Definition at line 324 of file MainFactory.cc.
References Arcane::Cell, createMesh(), Arcane::None, and Arcane::ISubDomain::parallelMng().
|
overridevirtual |
Creates or retrieves a mesh.
Creates or retrieves a mesh named name for the sub-domain sub_domain.
If the sub-domain already has a mesh with the name name, the latter is returned.
Implements Arcane::IMainFactory.
Definition at line 315 of file MainFactory.cc.
References createMesh(), and Arcane::ISubDomain::parallelMng().
|
overridevirtual |
Creates or retrieves a mesh.
Creates or retrieves a mesh named name for the sub-domain sub_domain associated with the parallelism manager pm. If the sub-domain already has a mesh with the name name, the latter is returned.
The parallelism manager must be the same as that of the sub-domain or derived from it.
Implements Arcane::IMainFactory.
Definition at line 368 of file MainFactory.cc.
References createMesh(), and Arcane::None.
|
overridevirtual |
Creates or retrieves a mesh.
Creates or retrieves a mesh named name for the sub-domain sub_domain associated with the parallelism manager pm. If the sub-domain already has a mesh with the name name, the latter is returned.
The parallelism manager must be the same as that of the sub-domain or derived from it.
Implements Arcane::IMainFactory.
Definition at line 333 of file MainFactory.cc.
References Arcane::Cell, createMesh(), and Arcane::None.
|
overridevirtual |
Creates or retrieves a mesh.
Creates or retrieves a mesh named name for the sub-domain sub_domain associated with the parallelism manager pm. If the sub-domain already has a mesh with the name name, the latter is returned.
The parallelism manager must be the same as that of the sub-domain or derived from it.
Implements Arcane::IMainFactory.
Definition at line 342 of file MainFactory.cc.
References Arcane::MeshBuildInfo::addFactoryName(), Arcane::MeshBuildInfo::addMeshKind(), Arcane::MeshBuildInfo::addParallelMng(), Arcane::IMeshFactoryMng::createMesh(), Arcane::makeRef(), Arcane::IMeshMng::meshFactoryMng(), Arcane::MeshBuildInfo::meshKind(), Arcane::ISubDomain::meshMng(), and Arcane::None.
|
overridevirtual |
Creates the master module for the sub-domain sd.
Implements Arcane::IMainFactory.
Definition at line 438 of file MainFactory.cc.
References Arcane::IModuleMng::addModule(), ARCANE_FATAL, Arcane::makeRef(), and Arcane::ISubDomain::moduleMng().
|
overridevirtual |
Creates an instance of the module manager.
Implements Arcane::IMainFactory.
Definition at line 149 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the property manager.
Implements Arcane::IMainFactory.
Definition at line 270 of file MainFactory.cc.
References Arcane::IBase::traceMng().
|
overridevirtual |
Creates an instance of the property manager.
Implements Arcane::IMainFactory.
Definition at line 279 of file MainFactory.cc.
References Arcane::IBase::traceMng().
|
overridevirtual |
Creates an instance of the service loader.
Implements Arcane::IMainFactory.
Definition at line 243 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the service manager.
Implements Arcane::IMainFactory.
Definition at line 252 of file MainFactory.cc.
|
overridevirtual |
Creates a sub-mesh for the mesh mesh, named name.
The sub-mesh is initialized with the items of the group group. Currently, this group cannot be a complete group (isAllItems()) nor a calculated group (if not incremental).
Implements Arcane::IMainFactory.
Definition at line 377 of file MainFactory.cc.
References Arcane::MeshBuildInfo::addFactoryName(), Arcane::MeshBuildInfo::addParentGroup(), and Arcane::IMeshFactoryMng::createMesh().
|
overridevirtual |
Creates an instance of the time history manager.
Implements Arcane::IMainFactory.
Definition at line 167 of file MainFactory.cc.
|
overridevirtual |
Creates a time loop named name.
Implements Arcane::IMainFactory.
Definition at line 216 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the time loop manager.
Implements Arcane::IMainFactory.
Definition at line 207 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of execution time statistics.
Use the overloaded createTimeStats(ITimerMng*,ITraceMng*,const String& name).
Implements Arcane::IMainFactory.
Definition at line 187 of file MainFactory.cc.
References Arcane::ISubDomain::subDomainId(), Arcane::ISubDomain::timerMng(), and Arcane::IBase::traceMng().
|
overridevirtual |
Creates an instance of execution time statistics.
Implements Arcane::IMainFactory.
Definition at line 198 of file MainFactory.cc.
|
overridevirtual |
Creates a trace manager.
The returned instance must be initialized via an ITraceMngPolicy.
Implements Arcane::IMainFactory.
Definition at line 420 of file MainFactory.cc.
|
overridevirtual |
Creates a configuration manager for a trace manager.
Implements Arcane::IMainFactory.
Definition at line 429 of file MainFactory.cc.
|
overridevirtual |
Creates an instance of the variable manager.
Implements Arcane::IMainFactory.
Definition at line 140 of file MainFactory.cc.