Factory for Arcane classes. More...
#include <arcane/core/IMainFactory.h>
Public Member Functions | |
| virtual | ~IMainFactory () |
| Releases resources. | |
| virtual IArcaneMain * | createArcaneMain (const ApplicationInfo &app_info)=0 |
| Creates an instance of IArcaneMain. | |
| virtual IApplication * | createApplication (IArcaneMain *)=0 |
| Creates an instance of a supervisor. | |
| virtual IVariableMng * | createVariableMng (ISubDomain *)=0 |
| Creates an instance of the variable manager. | |
| virtual IModuleMng * | createModuleMng (ISubDomain *)=0 |
| Creates an instance of the module manager. | |
| virtual IEntryPointMng * | createEntryPointMng (ISubDomain *)=0 |
| Creates an instance of the entry point manager. | |
| virtual ITimeHistoryMng * | createTimeHistoryMng (ISubDomain *)=0 |
| Creates an instance of the time history manager. | |
| virtual ICaseMng * | createCaseMng (ISubDomain *)=0 |
| Creates an instance of the case manager. | |
| virtual ICaseDocument * | createCaseDocument (IApplication *)=0 |
| Creates an instance of a case document. | |
| virtual ICaseDocument * | createCaseDocument (IApplication *, const String &lang)=0 |
| Creates an instance of a case document for a given language lang. | |
| virtual ICaseDocument * | createCaseDocument (IApplication *, IXmlDocumentHolder *doc)=0 |
| Creates an instance of a case document. | |
| virtual ARCANE_DEPRECATED_116 ITimeStats * | createTimeStats (ISubDomain *)=0 |
| Creates an instance of execution time statistics. | |
| virtual ITimeStats * | createTimeStats (ITimerMng *tim, ITraceMng *trm, const String &name)=0 |
| Creates an instance of execution time statistics. | |
| virtual ITimeLoopMng * | createTimeLoopMng (ISubDomain *)=0 |
| Creates an instance of the time loop manager. | |
| virtual ITimeLoop * | createTimeLoop (IApplication *sm, const String &name)=0 |
| Creates a time loop named name. | |
| virtual IIOMng * | createIOMng (IApplication *)=0 |
| Creates an instance of the I/O manager. | |
| virtual IIOMng * | createIOMng (IParallelMng *pm)=0 |
| Creates an instance of the I/O manager for the parallelism manager pm. | |
| virtual IServiceLoader * | createServiceLoader ()=0 |
| Creates an instance of the service loader. | |
| virtual IServiceMng * | createServiceMng (IBase *)=0 |
| Creates an instance of the service manager. | |
| virtual ICheckpointMng * | createCheckpointMng (ISubDomain *)=0 |
| Creates an instance of the checkpoint manager. | |
| virtual IPropertyMng * | createPropertyMng (ISubDomain *)=0 |
| Creates an instance of the property manager. | |
| virtual Ref< IPropertyMng > | createPropertyMngReference (ISubDomain *)=0 |
| Creates an instance of the property manager. | |
| virtual IPrimaryMesh * | createMesh (ISubDomain *sub_domain, const String &name)=0 |
| Creates or retrieves a mesh. | |
| virtual IPrimaryMesh * | createMesh (ISubDomain *sub_domain, const String &name, bool is_amr)=0 |
| Creates or retrieves a mesh. | |
| virtual IPrimaryMesh * | createMesh (ISubDomain *sub_domain, const String &name, eMeshAMRKind amr_type)=0 |
| Creates or retrieves a mesh. | |
| virtual IPrimaryMesh * | createMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name)=0 |
| Creates or retrieves a mesh. | |
| virtual IPrimaryMesh * | createMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name, bool is_amr)=0 |
| Creates or retrieves a mesh. | |
| virtual IPrimaryMesh * | createMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name, eMeshAMRKind amr_type)=0 |
| Creates or retrieves a mesh. | |
| virtual IMesh * | createSubMesh (IMesh *mesh, const ItemGroup &group, const String &name)=0 |
| Creates a sub-mesh for the mesh mesh, named name. | |
| virtual IDataFactory * | createDataFactory (IApplication *)=0 |
| Creates a factory for data. | |
| virtual Ref< IDataFactoryMng > | createDataFactoryMngRef (IApplication *)=0 |
| Creates a factory manager for data. | |
| virtual Ref< IAcceleratorMng > | createAcceleratorMngRef (ITraceMng *tm)=0 |
| Creates a manager for accelerators. | |
| virtual ITraceMng * | createTraceMng ()=0 |
| Creates a trace manager. | |
| virtual ITraceMngPolicy * | createTraceMngPolicy (IApplication *app)=0 |
| Creates a configuration manager for a trace manager. | |
| virtual IModuleMaster * | createModuleMaster (ISubDomain *sd)=0 |
| Creates the master module for the sub-domain sd. | |
| virtual ILoadBalanceMng * | createLoadBalanceMng (ISubDomain *sd)=0 |
| Creates a description manager for load balancing. | |
Factory for Arcane classes.
It is a virtual class containing methods to manufacture the different instances of the architecture managers (Design Pattern: AbstractFactory).
Arcane provides default factories for most managers (IApplication, 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 IMainFactory, we run the code as follows:
Definition at line 93 of file IMainFactory.h.
|
inlinevirtual |
Releases resources.
Definition at line 97 of file IMainFactory.h.
|
pure virtual |
Creates a manager for accelerators.
Implemented in Arcane::MainFactory.
References createAcceleratorMngRef().
Referenced by Arcane::SubDomain::build(), and createAcceleratorMngRef().
|
pure virtual |
Creates an instance of a supervisor.
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates an instance of IArcaneMain.
Implemented in Arcane::ArcaneBatchMainFactory, Arcane::ArcaneSimpleExecutorMainFactory, Arcane::MainFactory, and Arcane::MpiBatchMainFactory.
|
pure virtual |
Creates an instance of a case document.
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates an instance of a case document for a given language lang.
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates an instance of a case document.
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates an instance of the case manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().
|
pure virtual |
Creates an instance of the checkpoint manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().
|
pure virtual |
Creates a factory for data.
Implemented in Arcane::MainFactory.
References createDataFactory().
Referenced by createDataFactory().
|
pure virtual |
Creates a factory manager for data.
Implemented in Arcane::MainFactory.
References createDataFactoryMngRef().
Referenced by createDataFactoryMngRef().
|
pure virtual |
Creates an instance of the entry point manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().
|
pure virtual |
Creates an instance of the I/O manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().
|
pure virtual |
Creates an instance of the I/O manager for the parallelism manager pm.
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates a description manager for load balancing.
Implemented in Arcane::MainFactory.
References createLoadBalanceMng().
Referenced by createLoadBalanceMng(), and Arcane::SubDomain::initialize().
|
pure virtual |
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.
Implemented in Arcane::MainFactory.
References createMesh().
Referenced by createMesh(), createMesh(), createMesh(), createMesh(), createMesh(), createMesh(), and Arcane::MeshReaderMng::readMesh().
|
pure virtual |
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.
Implemented in Arcane::MainFactory.
References createMesh().
|
pure virtual |
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.
Implemented in Arcane::MainFactory.
References createMesh().
|
pure virtual |
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.
Implemented in Arcane::MainFactory.
References createMesh().
|
pure virtual |
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.
Implemented in Arcane::MainFactory.
References createMesh().
|
pure virtual |
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.
Implemented in Arcane::MainFactory.
References createMesh().
|
pure virtual |
Creates the master module for the sub-domain sd.
Implemented in Arcane::MainFactory.
References createModuleMaster().
Referenced by createModuleMaster(), and Arcane::SubDomain::initialize().
|
pure virtual |
Creates an instance of the module manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().
|
pure virtual |
Creates an instance of the property manager.
Implemented in Arcane::MainFactory.
References createPropertyMng().
Referenced by createPropertyMng().
|
pure virtual |
Creates an instance of the property manager.
Implemented in Arcane::MainFactory.
References createPropertyMngReference().
Referenced by Arcane::SubDomain::build(), and createPropertyMngReference().
|
pure virtual |
Creates an instance of the service loader.
Implemented in Arcane::MainFactory.
Referenced by Arcane::InternalInfosDumper::dumpArcaneDatabase(), Arcane::InternalInfosDumper::dumpInternalAllInfos(), Arcane::SubDomain::initialize(), and Arcane::TimeLoopMng::setUsedTimeLoop().
|
pure virtual |
Creates an instance of the service manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::Session::build(), and Arcane::SubDomain::build().
|
pure virtual |
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).
Implemented in Arcane::MainFactory.
References createSubMesh().
Referenced by createSubMesh().
|
pure virtual |
Creates an instance of the time history manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::initialize().
|
pure virtual |
Creates a time loop named name.
Implemented in Arcane::MainFactory.
Referenced by Arcane::TimeLoopMng::createTimeLoop(), and Arcane::TimeLoopReader::readTimeLoops().
|
pure virtual |
Creates an instance of the time loop manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().
|
pure virtual |
Creates an instance of execution time statistics.
Use the overloaded createTimeStats(ITimerMng*,ITraceMng*,const String& name).
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates an instance of execution time statistics.
Implemented in Arcane::MainFactory.
|
pure virtual |
Creates a trace manager.
The returned instance must be initialized via an ITraceMngPolicy.
Implemented in Arcane::MainFactory.
References createTraceMng().
Referenced by Arcane::Application::createAndInitializeTraceMng(), and createTraceMng().
|
pure virtual |
Creates a configuration manager for a trace manager.
Implemented in Arcane::MainFactory.
References createTraceMngPolicy().
Referenced by createTraceMngPolicy().
|
pure virtual |
Creates an instance of the variable manager.
Implemented in Arcane::MainFactory.
Referenced by Arcane::SubDomain::build().