Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CodeService.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/* CodeService.h (C) 2000-2025 */
9/* */
10/* Service du code. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_CODESERVICE_H
13#define ARCANE_CORE_CODESERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/utils/List.h"
20
21#include "arcane/core/ICodeService.h"
22#include "arcane/core/ServiceBuildInfo.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
34
35/*---------------------------------------------------------------------------*/
36/*---------------------------------------------------------------------------*/
37/*!
38 * \internal
39 * \brief Classe abstraite d'un service de code.
40 *
41 * La classe dérivée doit implémenter ICodeService::createSession()
42 */
43class ARCANE_CORE_EXPORT CodeService
44: public ICodeService
45{
46 public:
47
48 explicit CodeService(const ServiceBuildInfo& sbi);
49 ~CodeService() override;
50
51 public:
52
53 bool parseArgs(StringList&) override { return false; }
54
55 ISubDomain* createAndLoadCase(ISession* session, const SubDomainBuildInfo& sdbi) override;
56 void initCase(ISubDomain* sub_domain, bool is_continue) override;
57 bool allowExecution() const override;
58 StringCollection validExtensions() const override;
59 Real lengthUnit() const override { return 1.0; }
60
61 public:
62
63 IServiceInfo* serviceInfo() const override;
64 IBase* serviceParent() const override;
65 IService* serviceInterface() override { return this; }
66
67 protected:
68
69 void _addExtension(const String& extension);
70 IApplication* _application() const;
71
72 virtual void _preInitializeSubDomain(ISubDomain*) {}
73
74 private:
75
76 CodeServicePrivate* m_p = nullptr;
77};
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82} // namespace Arcane
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87#endif
88
Déclarations des types utilisés dans Arcane.
Real lengthUnit() const override
Unité de longueur utilisé par le code.
Definition CodeService.h:59
IService * serviceInterface() override
Interface de ce service (normalement this)
Definition CodeService.h:65
bool parseArgs(StringList &) override
Analyse les arguments de la ligne de commandes.
Definition CodeService.h:53
Interface de l'application.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:31
Interface d'un chargeur de cas.
Interface des informations d'un service ou d'un module.
Interface d'un service.
Definition IService.h:39
Interface d'une session d'exécution d'un cas.
Definition ISession.h:37
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Structure contenant les informations pour créer un service.
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< String > StringCollection
Collection de chaînes de caractères.
Definition UtilsTypes.h:593
List< String > StringList
Tableau de chaînes de caractères unicode.
Definition UtilsTypes.h:596
double Real
Type représentant un réel.