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

Manufacture des classes d'Arcane. Plus de détails...

#include <arcane/core/IMainFactory.h>

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

Fonctions membres publiques

virtual ~IMainFactory ()
 Libère les ressources.
 
virtual IArcaneMaincreateArcaneMain (const ApplicationInfo &app_info)=0
 Crée une instance de IArcaneMain.
 
virtual IApplicationcreateApplication (IArcaneMain *)=0
 Crée une instance d'un superviseur.
 
virtual IVariableMngcreateVariableMng (ISubDomain *)=0
 Crée une instance du gestionnaire de variable.
 
virtual IModuleMngcreateModuleMng (ISubDomain *)=0
 Crée une instance du gestionnaire de module.
 
virtual IEntryPointMngcreateEntryPointMng (ISubDomain *)=0
 Crée une instance du gestionnaire des points d'entrée.
 
virtual ITimeHistoryMngcreateTimeHistoryMng (ISubDomain *)=0
 Crée une instance du gestionnaire d'historique en temps.
 
virtual ICaseMngcreateCaseMng (ISubDomain *)=0
 Crée une instance du gestionnaire du jeu de données.
 
virtual ICaseDocumentcreateCaseDocument (IApplication *)=0
 Crée une instance d'un document du jeu de données.
 
virtual ICaseDocumentcreateCaseDocument (IApplication *, const String &lang)=0
 Crée une instance d'un document du jeu de données pour une langue donnée lang.
 
virtual ICaseDocumentcreateCaseDocument (IApplication *, IXmlDocumentHolder *doc)=0
 Crée une instance d'un document du jeu de données.
 
virtual ARCANE_DEPRECATED_116 ITimeStatscreateTimeStats (ISubDomain *)=0
 Crée une instance des statistiques de temps d'exécution.
 
virtual ITimeStatscreateTimeStats (ITimerMng *tim, ITraceMng *trm, const String &name)=0
 Crée une instance des statistiques de temps d'exécution.
 
virtual ITimeLoopMngcreateTimeLoopMng (ISubDomain *)=0
 Crée une instance du gestionnaire de la boucle en temps.
 
virtual ITimeLoopcreateTimeLoop (IApplication *sm, const String &name)=0
 Crée une boucle en temps de nom name.
 
virtual IIOMngcreateIOMng (IApplication *)=0
 Crée une instance du gestionnaire d'entrée/sortie.
 
virtual IIOMngcreateIOMng (IParallelMng *pm)=0
 Crée une instance du gestionnaire d'entrée/sortie pour le gestionnaire de parallélisme pm.
 
virtual IServiceLoadercreateServiceLoader ()=0
 Crée une instance du chargeur de services.
 
virtual IServiceMngcreateServiceMng (IBase *)=0
 Crée une instance du gestionnaire de services.
 
virtual ICheckpointMngcreateCheckpointMng (ISubDomain *)=0
 Crée une instance du gestionnaire de protections.
 
virtual IPropertyMngcreatePropertyMng (ISubDomain *)=0
 Crée une instance du gestionnaire de propriétés.
 
virtual Ref< IPropertyMngcreatePropertyMngReference (ISubDomain *)=0
 Crée une instance du gestionnaire de propriétés.
 
virtual IPrimaryMeshcreateMesh (ISubDomain *sub_domain, const String &name)=0
 Créé ou récupère un maillage.
 
virtual IPrimaryMeshcreateMesh (ISubDomain *sub_domain, const String &name, bool is_amr)=0
 Créé ou récupère un maillage.
 
virtual IPrimaryMeshcreateMesh (ISubDomain *sub_domain, const String &name, eMeshAMRKind amr_type)=0
 Créé ou récupère un maillage.
 
virtual IPrimaryMeshcreateMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name)=0
 Créé ou récupère un maillage.
 
virtual IPrimaryMeshcreateMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name, bool is_amr)=0
 Créé ou récupère un maillage.
 
virtual IPrimaryMeshcreateMesh (ISubDomain *sub_domain, IParallelMng *pm, const String &name, eMeshAMRKind amr_type)=0
 Créé ou récupère un maillage.
 
virtual IMeshcreateSubMesh (IMesh *mesh, const ItemGroup &group, const String &name)=0
 Créé un sous-maillage pour le maillage mesh, de nom name.
 
virtual IDataFactorycreateDataFactory (IApplication *)=0
 Créé une fabrique pour les données.
 
virtual Ref< IDataFactoryMngcreateDataFactoryMngRef (IApplication *)=0
 Créé un gestionnaire de fabrique pour les données.
 
virtual Ref< IAcceleratorMngcreateAcceleratorMngRef (ITraceMng *tm)=0
 Créé un gestionnaire pour les accélérateurs.
 
virtual ITraceMngcreateTraceMng ()=0
 Créé un gestionnaire de trace.
 
virtual ITraceMngPolicycreateTraceMngPolicy (IApplication *app)=0
 Créé un gestionnaire de configuration pour un gestion de trace.
 
virtual IModuleMastercreateModuleMaster (ISubDomain *sd)=0
 Créé le module maitre pour le sous-domaine sd.
 
virtual ILoadBalanceMngcreateLoadBalanceMng (ISubDomain *sd)=0
 Cree un gestionnaire de description pour l'equilibrage.
 

Description détaillée

Manufacture des classes d'Arcane.

Il s'agit d'une classe virtuelle comprenant les méthodes pour fabriquer les différentes instances des gestionnaires de l'architecture (Design Pattern: AbstractFactory).

Arcane fournit des fabriques par défaut pour la plupart des gestionnaires (IApplication, IParallelSuperMng, ...). La classe gérant le code doit par contre être spécifiée en implémentant la méthode createArcaneMain() dans une classe dérivée.

Le point d'entrée général du code se fait par l'appel à la fonction arcaneMain().

Par exemple, si on définit une classe ConcreteMainFactory qui dérive de IMainFactory, on lance le code comme suit:

int
main(int argc,char** argv)
{
ApplicationInfo exe_info = ... // Création des infos de l'exécutable.
ConcreteMainFactory cmf; // Création de la manufacture
return IMainFactory::arcaneMain(exe_info,&cmf);
}
Informations sur une application.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120

Définition à la ligne 92 du fichier IMainFactory.h.

Documentation des constructeurs et destructeur

◆ ~IMainFactory()

virtual Arcane::IMainFactory::~IMainFactory ( )
inlinevirtual

Libère les ressources.

Définition à la ligne 96 du fichier IMainFactory.h.

Documentation des fonctions membres

◆ createAcceleratorMngRef()

virtual Ref< IAcceleratorMng > Arcane::IMainFactory::createAcceleratorMngRef ( ITraceMng tm)
pure virtual

Créé un gestionnaire pour les accélérateurs.

Implémenté dans Arcane::MainFactory.

◆ createApplication()

virtual IApplication * Arcane::IMainFactory::createApplication ( IArcaneMain )
pure virtual

Crée une instance d'un superviseur.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::ArcaneMain::build().

◆ createArcaneMain()

virtual IArcaneMain * Arcane::IMainFactory::createArcaneMain ( const ApplicationInfo app_info)
pure virtual

◆ createCaseDocument() [1/3]

virtual ICaseDocument * Arcane::IMainFactory::createCaseDocument ( IApplication )
pure virtual

Crée une instance d'un document du jeu de données.

Implémenté dans Arcane::MainFactory.

◆ createCaseDocument() [2/3]

virtual ICaseDocument * Arcane::IMainFactory::createCaseDocument ( IApplication ,
const String lang 
)
pure virtual

Crée une instance d'un document du jeu de données pour une langue donnée lang.

Implémenté dans Arcane::MainFactory.

◆ createCaseDocument() [3/3]

virtual ICaseDocument * Arcane::IMainFactory::createCaseDocument ( IApplication ,
IXmlDocumentHolder doc 
)
pure virtual

Crée une instance d'un document du jeu de données.

Implémenté dans Arcane::MainFactory.

◆ createCaseMng()

virtual ICaseMng * Arcane::IMainFactory::createCaseMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire du jeu de données.

Implémenté dans Arcane::MainFactory.

◆ createCheckpointMng()

virtual ICheckpointMng * Arcane::IMainFactory::createCheckpointMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire de protections.

Implémenté dans Arcane::MainFactory.

◆ createDataFactory()

virtual IDataFactory * Arcane::IMainFactory::createDataFactory ( IApplication )
pure virtual

Créé une fabrique pour les données.

Implémenté dans Arcane::MainFactory.

◆ createDataFactoryMngRef()

virtual Ref< IDataFactoryMng > Arcane::IMainFactory::createDataFactoryMngRef ( IApplication )
pure virtual

Créé un gestionnaire de fabrique pour les données.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::Application::build().

◆ createEntryPointMng()

virtual IEntryPointMng * Arcane::IMainFactory::createEntryPointMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire des points d'entrée.

Implémenté dans Arcane::MainFactory.

◆ createIOMng() [1/2]

virtual IIOMng * Arcane::IMainFactory::createIOMng ( IApplication )
pure virtual

Crée une instance du gestionnaire d'entrée/sortie.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::Application::build().

◆ createIOMng() [2/2]

virtual IIOMng * Arcane::IMainFactory::createIOMng ( IParallelMng pm)
pure virtual

Crée une instance du gestionnaire d'entrée/sortie pour le gestionnaire de parallélisme pm.

Implémenté dans Arcane::MainFactory.

◆ createLoadBalanceMng()

virtual ILoadBalanceMng * Arcane::IMainFactory::createLoadBalanceMng ( ISubDomain sd)
pure virtual

Cree un gestionnaire de description pour l'equilibrage.

Implémenté dans Arcane::MainFactory.

◆ createMesh() [1/6]

virtual IPrimaryMesh * Arcane::IMainFactory::createMesh ( ISubDomain sub_domain,
const String name 
)
pure virtual

Créé ou récupère un maillage.

Créé ou récupère un maillage de nom name pour le sous-domaine sub_domain.

Si le sous-domaine possède déjà un maillage avec le nom name, c'est ce dernier qui est retourné.

Implémenté dans Arcane::MainFactory.

◆ createMesh() [2/6]

virtual IPrimaryMesh * Arcane::IMainFactory::createMesh ( ISubDomain sub_domain,
const String name,
bool  is_amr 
)
pure virtual

Créé ou récupère un maillage.

Créé ou récupère un maillage de nom name pour le sous-domaine sub_domain.

Si le sous-domaine possède déjà un maillage avec le nom name, c'est ce dernier qui est retourné.

Implémenté dans Arcane::MainFactory.

◆ createMesh() [3/6]

virtual IPrimaryMesh * Arcane::IMainFactory::createMesh ( ISubDomain sub_domain,
const String name,
eMeshAMRKind  amr_type 
)
pure virtual

Créé ou récupère un maillage.

Créé ou récupère un maillage de nom name pour le sous-domaine sub_domain.

Si le sous-domaine possède déjà un maillage avec le nom name, c'est ce dernier qui est retourné.

Implémenté dans Arcane::MainFactory.

◆ createMesh() [4/6]

virtual IPrimaryMesh * Arcane::IMainFactory::createMesh ( ISubDomain sub_domain,
IParallelMng pm,
const String name 
)
pure virtual

Créé ou récupère un maillage.

Créé ou récupère un maillage de nom name pour le sous-domaine sub_domain associé au gestionnaire de parallélisme pm. Si le sous-domaine possède déjà un maillage avec le nom name, c'est ce dernier qui est retourné.

Le gestionnaire de parallélisme doit être le même que celui du sous-domaine ou issu de celui-ci.

Implémenté dans Arcane::MainFactory.

◆ createMesh() [5/6]

virtual IPrimaryMesh * Arcane::IMainFactory::createMesh ( ISubDomain sub_domain,
IParallelMng pm,
const String name,
bool  is_amr 
)
pure virtual

Créé ou récupère un maillage.

Créé ou récupère un maillage de nom name pour le sous-domaine sub_domain associé au gestionnaire de parallélisme pm. Si le sous-domaine possède déjà un maillage avec le nom name, c'est ce dernier qui est retourné.

Le gestionnaire de parallélisme doit être le même que celui du sous-domaine ou issu de celui-ci.

Implémenté dans Arcane::MainFactory.

◆ createMesh() [6/6]

virtual IPrimaryMesh * Arcane::IMainFactory::createMesh ( ISubDomain sub_domain,
IParallelMng pm,
const String name,
eMeshAMRKind  amr_type 
)
pure virtual

Créé ou récupère un maillage.

Créé ou récupère un maillage de nom name pour le sous-domaine sub_domain associé au gestionnaire de parallélisme pm. Si le sous-domaine possède déjà un maillage avec le nom name, c'est ce dernier qui est retourné.

Le gestionnaire de parallélisme doit être le même que celui du sous-domaine ou issu de celui-ci.

Implémenté dans Arcane::MainFactory.

◆ createModuleMaster()

virtual IModuleMaster * Arcane::IMainFactory::createModuleMaster ( ISubDomain sd)
pure virtual

Créé le module maitre pour le sous-domaine sd.

Implémenté dans Arcane::MainFactory.

◆ createModuleMng()

virtual IModuleMng * Arcane::IMainFactory::createModuleMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire de module.

Implémenté dans Arcane::MainFactory.

◆ createPropertyMng()

virtual IPropertyMng * Arcane::IMainFactory::createPropertyMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire de propriétés.

Implémenté dans Arcane::MainFactory.

◆ createPropertyMngReference()

virtual Ref< IPropertyMng > Arcane::IMainFactory::createPropertyMngReference ( ISubDomain )
pure virtual

Crée une instance du gestionnaire de propriétés.

Implémenté dans Arcane::MainFactory.

◆ createServiceLoader()

virtual IServiceLoader * Arcane::IMainFactory::createServiceLoader ( )
pure virtual

Crée une instance du chargeur de services.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::ArcaneMain::initialize().

◆ createServiceMng()

virtual IServiceMng * Arcane::IMainFactory::createServiceMng ( IBase )
pure virtual

Crée une instance du gestionnaire de services.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::Application::build().

◆ createSubMesh()

virtual IMesh * Arcane::IMainFactory::createSubMesh ( IMesh mesh,
const ItemGroup group,
const String name 
)
pure virtual

Créé un sous-maillage pour le maillage mesh, de nom name.

Le sous-maillage est initialisé avec les items du groupe group. Actuellement, ce groupe ne peut ni être un groupe complet (isAllItems()) ni un groupe calculé (si non incrémental).

Implémenté dans Arcane::MainFactory.

◆ createTimeHistoryMng()

virtual ITimeHistoryMng * Arcane::IMainFactory::createTimeHistoryMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire d'historique en temps.

Implémenté dans Arcane::MainFactory.

◆ createTimeLoop()

virtual ITimeLoop * Arcane::IMainFactory::createTimeLoop ( IApplication sm,
const String name 
)
pure virtual

Crée une boucle en temps de nom name.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::TimeLoopReader::readTimeLoops().

◆ createTimeLoopMng()

virtual ITimeLoopMng * Arcane::IMainFactory::createTimeLoopMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire de la boucle en temps.

Implémenté dans Arcane::MainFactory.

◆ createTimeStats() [1/2]

virtual ARCANE_DEPRECATED_116 ITimeStats * Arcane::IMainFactory::createTimeStats ( ISubDomain )
pure virtual

Crée une instance des statistiques de temps d'exécution.

Utiliser la surchage createTimeStats(ITimerMng*,ITraceMng*,const String& name).

Implémenté dans Arcane::MainFactory.

◆ createTimeStats() [2/2]

virtual ITimeStats * Arcane::IMainFactory::createTimeStats ( ITimerMng tim,
ITraceMng trm,
const String name 
)
pure virtual

Crée une instance des statistiques de temps d'exécution.

Implémenté dans Arcane::MainFactory.

◆ createTraceMng()

virtual ITraceMng * Arcane::IMainFactory::createTraceMng ( )
pure virtual

Créé un gestionnaire de trace.

L'instance retournée doit être initialisée via un ITraceMngPolicy.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::Application::build(), et Arcane::Application::createAndInitializeTraceMng().

◆ createTraceMngPolicy()

virtual ITraceMngPolicy * Arcane::IMainFactory::createTraceMngPolicy ( IApplication app)
pure virtual

Créé un gestionnaire de configuration pour un gestion de trace.

Implémenté dans Arcane::MainFactory.

Référencé par Arcane::Application::build().

◆ createVariableMng()

virtual IVariableMng * Arcane::IMainFactory::createVariableMng ( ISubDomain )
pure virtual

Crée une instance du gestionnaire de variable.

Implémenté dans Arcane::MainFactory.


La documentation de cette classe a été générée à partir du fichier suivant :