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