Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ISession.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/* ISession.h (C) 2000-2025 */
9/* */
10/* Interface d'une session. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ISESSION_H
13#define ARCANE_CORE_ISESSION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/IBase.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Interface d'une session d'exécution d'un cas.
30 *
31 * Une session gère l'exécution d'un cas dans un processus.
32 *
33 * Cette exécution peut être répartie sur plusieurs sous-domaine en multi-threading.
34 */
35class ARCANE_CORE_EXPORT ISession
36: public IBase
37{
38 public:
39
40 virtual ~ISession() = default; //!< Libère les ressources
41
42 public:
43
44 //! Application
45 virtual IApplication* application() const = 0;
46
47 /*!
48 \brief Créé un sous-domaine avec les paramètres contenus dans \a sdbi.
49
50 Le sous-domaine créé est ajouté à la liste des sous-domaines de
51 la session. Le document contenant le jeu de données est ouvert
52 et et sa validité XML est vérifiée mais les options des services
53 et modules ne sont pas lues.
54 */
56
57 //! Termine la session avec le code de retour ret_val
58 virtual void endSession(int ret_val) = 0;
59
60 //! Liste des sous-domaines de la session
62
63 //! Effectue un abort
64 virtual void doAbort() = 0;
65
66 /*!
67 * \brief Vérifie que la version \a version du jeu de données est valide.
68 *
69 * \retval true si la version est valide
70 * \retval false sinon
71 */
72 virtual bool checkIsValidCaseVersion(const String& version) = 0;
73
74 //! Écrit le fichier des informations sur l'exécution
75 virtual void writeExecInfoFile() = 0;
76};
77
78/*---------------------------------------------------------------------------*/
79/*---------------------------------------------------------------------------*/
80
81} // namespace Arcane
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
86#endif
87
Déclarations des types généraux de Arcane.
Interface de l'application.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:31
Interface d'une session d'exécution d'un cas.
Definition ISession.h:37
virtual void writeExecInfoFile()=0
Écrit le fichier des informations sur l'exécution.
virtual bool checkIsValidCaseVersion(const String &version)=0
Vérifie que la version version du jeu de données est valide.
virtual ISubDomain * createSubDomain(const SubDomainBuildInfo &sdbi)=0
Créé un sous-domaine avec les paramètres contenus dans sdbi.
virtual ~ISession()=default
Libère les ressources.
virtual void doAbort()=0
Effectue un abort.
virtual IApplication * application() const =0
Application.
virtual void endSession(int ret_val)=0
Termine la session avec le code de retour ret_val.
virtual SubDomainCollection subDomains()=0
Liste des sous-domaines de la session.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Chaîne de caractères unicode.
Paramètres nécessaires à la construction d'un sous-domaine.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< ISubDomain * > SubDomainCollection
Collection de sous-domaines.