Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IModuleMaster.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IModuleMaster.h (C) 2000-2025 */
9/* */
10/* Interface du module Maître. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMODULEMASTER_H
13#define ARCANE_CORE_IMODULEMASTER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \internal
29 * \brief Interface du module principal.
30 *
31 * Le module principal est le module encadrant les différentes actions des points d'entrée.
32 * Voir l'implémentation \a ModuleMaster pour plus de détails.
33 */
34class ARCANE_CORE_EXPORT IModuleMaster
35{
36 public:
37
38 //! Destructeur.
39 /*! Libère les ressources */
40 virtual ~IModuleMaster() {}
41
42 public:
43
44 //! Création d'une instance de IModuleMaster
45 /*! Actuellement implémenté dans \a ModuleMaster */
47
48 public:
49
50 //! Retourne les options de ce module
52
53 //! Conversion en module standard
54 /*! Le succès de la conversion est liée à l'implémentation de \a IModuleMaster en tant que \a IModule */
55 virtual IModule* toModule() = 0;
56
57 //! Accès aux variables 'communes' partagés entre tout service et module
59
60 //! Ajoute le service de boucle en temps
61 virtual void addTimeLoopService(ITimeLoopService* tls) = 0;
62
63 /*!
64 * \brief Sort les courbes classiques.
65 *
66 * Cet appel ajoute dans le ITimeHistoryMng les courbes classiques
67 * (telles que CPUTime, ElapsedTime, TotalMemory, ...) pour l'itération
68 * courante. Par défaut, si cette fonction n'est pas appelée, les
69 * sorties se font à la fin de l'itération.
70 */
71 virtual void dumpStandardCurves() = 0;
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77} // namespace Arcane
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82#endif
83
Déclarations des types généraux de Arcane.
Variables communes d'un cas.
virtual void dumpStandardCurves()=0
Sort les courbes classiques.
static IModuleMaster * createDefault(const ModuleBuildInfo &)
Création d'une instance de IModuleMaster.
virtual IModule * toModule()=0
Conversion en module standard.
virtual void addTimeLoopService(ITimeLoopService *tls)=0
Ajoute le service de boucle en temps.
virtual CommonVariables * commonVariables()=0
Accès aux variables 'communes' partagés entre tout service et module.
virtual CaseOptionsMain * caseoptions()=0
Retourne les options de ce module.
virtual ~IModuleMaster()
Destructeur.
Interface d'un module.
Definition IModule.h:39
Interface d'un service opérant lors de la boucle en temps.
Informations pour construire un module.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-