Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ICodeService.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/* ICodeService.h (C) 2000-2014 */
9/* */
10/* Interface du service du code. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ICODESERVICE_H
13#define ARCANE_ICODESERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/IService.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23ARCANE_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class SubDomainBuildInfo;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \brief Interface d'un chargeur de cas.
34 * \ingroup StandardService
35 */
36class ARCANE_CORE_EXPORT ICodeService
37: public IService
38{
39 public:
40
41 virtual ~ICodeService(){} //!< Libère les ressources
42
43 public:
44
45 /*! \brief Crée une session.
46 *
47 * L'instance doit appeler IApplication::addSession().
48 */
49 virtual ISession* createSession() =0;
50
51 /*!
52 * \brief Analyse les arguments de la ligne de commandes.
53 *
54 * Le tableau \a args ne contient que les arguments qui n'ont
55 * pas été interprétés par Arcane.
56 *
57 * Les arguments reconnus doivent être supprimés de la liste.
58 *
59 * \retval true si l'exéctution doit s'arrêter,
60 * \retval false si elle continue normalement
61 */
62 virtual bool parseArgs(StringList& args) =0;
63
64 /*!
65 * \brief Créé et charge le cas avec les infos \a sdbi
66 * pour la session \a session.
67 */
68 virtual ISubDomain* createAndLoadCase(ISession* session,const SubDomainBuildInfo& sdbi) =0;
69
70 /*!
71 * \brief Initialise la session \a session.
72 *
73 * \param is_continue indique si on est en reprise
74 * Le cas doit déjà avoir été chargé par loadCase()
75 */
76 virtual void initCase(ISubDomain* sub_domain,bool is_continue) =0;
77
78 //! Retourne si le code accepte l'exécution.
79 virtual bool allowExecution() const =0;
80
81 /*! \brief Retourne la liste des extensions de fichier traitées par l'instance.
82 * L'extension ne comprend pas le '.'.
83 */
85
86 /*!
87 * \brief Unité de longueur utilisé par le code.
88 *
89 * Cela doit valoir 1.0 si le code utilise le système international et donc
90 * le mêtre comme unité de longueur. Si l'unité est le centimètre par
91 * exemple, la valeur est 0.01.
92 *
93 * Cette valeur peut être utilisée par exemple lors de la lecture du
94 * maillage si le format de maillage supporte la notion d'unité de
95 * longueur.
96 */
97 virtual Real ARCANE_DEPRECATED lengthUnit() const =0;
98};
99
100/*---------------------------------------------------------------------------*/
101/*---------------------------------------------------------------------------*/
102
103ARCANE_END_NAMESPACE
104
105/*---------------------------------------------------------------------------*/
106/*---------------------------------------------------------------------------*/
107
108#endif
109
Interface d'un chargeur de cas.
virtual bool parseArgs(StringList &args)=0
Analyse les arguments de la ligne de commandes.
virtual ISubDomain * createAndLoadCase(ISession *session, const SubDomainBuildInfo &sdbi)=0
Créé et charge le cas avec les infos sdbi pour la session session.
virtual Real ARCANE_DEPRECATED lengthUnit() const =0
Unité de longueur utilisé par le code.
virtual bool allowExecution() const =0
Retourne si le code accepte l'exécution.
virtual ISession * createSession()=0
Crée une session.
virtual ~ICodeService()
Libère les ressources.
virtual void initCase(ISubDomain *sub_domain, bool is_continue)=0
Initialise la session session.
virtual StringCollection validExtensions() const =0
Retourne la liste des extensions de fichier traitées par l'instance. L'extension ne comprend pas le '...
Interface d'un service.
Definition IService.h:45
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
Paramètres nécessaires à la construction d'un sous-domaine.