Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IModuleMng.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/* IModuleMng.h (C) 2000-2019 */
9/* */
10/* Interface du gestionnaire des modules. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMODULEMNG_H
13#define ARCANE_IMODULEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17
18#include "arcane/ArcaneTypes.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29class IModule;
30class Msg;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34/*!
35 * \brief Interface du gestionnaire de modules.
36 * \ingroup Module
37 */
39{
40 public:
41
42 //! Destructeur
43 /*! Libère les ressources */
44 virtual ~IModuleMng() {}
45
46 public:
47
48 //! Ajoute le module \a m au gestionnaire
49 virtual void addModule(Ref<IModule> m) =0;
50
51 //! Supprime le module \a m
52 virtual void removeModule(Ref<IModule> m) =0;
53
54 //! Affiche la liste des modules du gestionnaire sur un flux \a o
55 virtual void dumpList(std::ostream& o) =0;
56
57 //! Liste des modules
58 virtual ModuleCollection modules() const =0;
59
60 //! Supprime et détruit les modules gérés par ce gestionnaire
61 virtual void removeAllModules() =0;
62
63 //! Indique si le module de nom \a name est actif
64 /*!
65 * Si aucune module de nom \a name n'existe, retourne false.
66 */
67 virtual bool isModuleActive(const String& name) =0;
68
69 //! Retourne l'instance du module de nom \a name.
70 /*!
71 * Si aucune module de nom \a name n'existe, retourne 0.
72 */
73 virtual IModule* findModule(const String& name) =0;
74};
75
76/*---------------------------------------------------------------------------*/
77/*---------------------------------------------------------------------------*/
78
79} // End namespace Arcane
80
81/*---------------------------------------------------------------------------*/
82/*---------------------------------------------------------------------------*/
83
84#endif
85
Interface du gestionnaire de modules.
Definition IModuleMng.h:39
virtual void addModule(Ref< IModule > m)=0
Ajoute le module m au gestionnaire.
virtual void dumpList(std::ostream &o)=0
Affiche la liste des modules du gestionnaire sur un flux o.
virtual void removeModule(Ref< IModule > m)=0
Supprime le module m.
virtual ModuleCollection modules() const =0
Liste des modules.
virtual bool isModuleActive(const String &name)=0
Indique si le module de nom name est actif.
virtual void removeAllModules()=0
Supprime et détruit les modules gérés par ce gestionnaire.
virtual ~IModuleMng()
Destructeur.
Definition IModuleMng.h:44
virtual IModule * findModule(const String &name)=0
Retourne l'instance du module de nom name.
Interface d'un module.
Definition IModule.h:39
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< IModule * > ModuleCollection
Collection de modules.