Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IModule.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IModule.h (C) 2000-2021 */
9/* */
10/* Interface de la classe Module. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMODULE_H
13#define ARCANE_IMODULE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IVariableRef;
29class IParallelMng;
30class CaseOptionsMain;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
38class ARCANE_CORE_EXPORT IModule
39{
40 public:
41
43 virtual ~IModule() {}
44
45 public:
46
48 virtual String name() const =0;
49
51 virtual VersionInfo versionInfo() const =0;
52
53 public:
54
56 virtual ISession* session() const =0;
57
59 virtual ISubDomain* subDomain() const =0;
60
62 virtual IMesh* defaultMesh() const =0;
63
65 virtual MeshHandle defaultMeshHandle() const =0;
66
68 virtual IParallelMng* parallelMng() const =0;
69
71 virtual IAcceleratorMng* acceleratorMng() const =0;
72
74 virtual ITraceMng* traceMng() const =0;
75
76 public:
77
84 virtual void setUsed(bool v) =0;
85
87 virtual bool used() const =0;
88
96 virtual void setDisabled(bool v) =0;
97
99 virtual bool disabled() const =0;
100
105 virtual bool isGarbageCollected() const =0;
106};
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111} // End namespace Arcane
112
113/*---------------------------------------------------------------------------*/
114/*---------------------------------------------------------------------------*/
115
116#endif
117
Interface du gestionnaire des accélérateurs.
Interface d'un module.
Definition IModule.h:39
virtual ~IModule()
Destructeur.
Definition IModule.h:43
virtual MeshHandle defaultMeshHandle() const =0
Maillage associé
virtual void setUsed(bool v)=0
Indique si un module est utilisé ou non (interne).
virtual VersionInfo versionInfo() const =0
Version du module.
virtual IMesh * defaultMesh() const =0
Maillage associé. Peut être nul. Utiliser defaultMeshHandle() à la place.
virtual String name() const =0
Nom du module.
virtual ISubDomain * subDomain() const =0
Gestionnaire de sous-domaine.
virtual bool isGarbageCollected() const =0
Indique si le module est géré par un ramasse miette auquel cas il ne faut pas appeler l'operateur del...
virtual IAcceleratorMng * acceleratorMng() const =0
Gestionnaire des accélérateurs.
virtual ISession * session() const =0
Session du module.
virtual ITraceMng * traceMng() const =0
Gestionnaire de traces.
virtual bool disabled() const =0
true si le module est désactivé
virtual void setDisabled(bool v)=0
Active ou désactive temporairement le module (interne).
virtual IParallelMng * parallelMng() const =0
Gestionnaire du parallélisme par échange de message.
virtual bool used() const =0
true si le module est utilisé.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'une session d'exécution d'un cas.
Definition ISession.h:44
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Handle sur un maillage.
Definition MeshHandle.h:47
Informations sur une version.
Definition VersionInfo.h:46
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-