Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IServiceInfo.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/* IServiceInfo.h (C) 2000-2025 */
9/* */
10/* Interface des informations d'un service. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ISERVICEINFO_H
13#define ARCANE_CORE_ISERVICEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup Service
29 * \brief Interface des informations d'un service ou d'un module.
30 */
31class ARCANE_CORE_EXPORT IServiceInfo
32{
33 public:
34
35 static const Integer Dim1 = 1;
36 static const Integer Dim2 = 2;
37 static const Integer Dim3 = 4;
38
39 public:
40
41 virtual ~IServiceInfo() = default; //!< Libère les ressources
42
43 public:
44
45 //! Partie locale du nom du service
46 virtual String localName() const = 0;
47
48 //! Namespace du nom du service
49 virtual String namespaceURI() const = 0;
50
51 //! Version du service
52 virtual VersionInfo version() const = 0;
53
54 //! Version du fichier axl décrivant ce service
55 virtual Real axlVersion() const = 0;
56
57 //! Indique si le service est utilisable en dimension \a n.
58 virtual bool allowDimension(Integer n) const = 0;
59
60 /*! \brief Ajoute l'interface de nom \a name aux interfaces
61 * implémentées par ce service.
62 */
63 virtual void addImplementedInterface(const String& name) = 0;
64
65 //! Liste des noms des classes implémentées par ce service
67
68 //! Nom du fichier contenant le jeu de données (nul si aucun)
69 virtual const String& caseOptionsFileName() const = 0;
70
71 //! Liste des fabriques du service
73
74 //! Fabrique pour les service singleton (nullptr si non supporté)
76
77 /*! \brief Nom de l'élément XML du service pour le langage \a lang.
78 * Si \a lang est nul, retourne le nom par défaut.
79 */
80 virtual String tagName(const String& lang) const = 0;
81
82 //! Infos sur les fabriques disponibles pour ce service
83 virtual IServiceFactoryInfo* factoryInfo() const = 0;
84
85 /*!
86 * \brief Indique où peut être utilisé le service.
87 *
88 * Il s'agit d'une combinaison de valeurs de eServiceType.
89 */
90 virtual int usageType() const = 0;
91
92 //! Contenu du fichier AXL associé à ce service ou module
93 virtual const FileContent& axlContent() const = 0;
94};
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99} // namespace Arcane
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104#endif
105
Déclarations des types généraux de Arcane.
Description et contenu d'un fichier.
Definition FileContent.h:32
Informations sur la fabrique d'un service.
Interface des informations d'un service ou d'un module.
virtual String localName() const =0
Partie locale du nom du service.
virtual int usageType() const =0
Indique où peut être utilisé le service.
virtual Real axlVersion() const =0
Version du fichier axl décrivant ce service.
virtual IServiceFactoryInfo * factoryInfo() const =0
Infos sur les fabriques disponibles pour ce service.
virtual bool allowDimension(Integer n) const =0
Indique si le service est utilisable en dimension n.
virtual VersionInfo version() const =0
Version du service.
virtual ServiceFactory2Collection factories() const =0
Liste des fabriques du service.
virtual Internal::ISingletonServiceFactory * singletonFactory() const =0
Fabrique pour les service singleton (nullptr si non supporté)
virtual String namespaceURI() const =0
Namespace du nom du service.
virtual ~IServiceInfo()=default
Libère les ressources.
virtual const FileContent & axlContent() const =0
Contenu du fichier AXL associé à ce service ou module.
virtual void addImplementedInterface(const String &name)=0
Ajoute l'interface de nom name aux interfaces implémentées par ce service.
virtual const String & caseOptionsFileName() const =0
Nom du fichier contenant le jeu de données (nul si aucun)
virtual StringCollection implementedInterfaces() const =0
Liste des noms des classes implémentées par ce service.
virtual String tagName(const String &lang) const =0
Nom de l'élément XML du service pour le langage lang. Si lang est nul, retourne le nom par défaut.
Chaîne de caractères unicode.
Informations sur une version.
Definition VersionInfo.h:46
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
Collection< String > StringCollection
Collection de chaînes de caractères.
Definition UtilsTypes.h:593
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection de fabriques de service.
double Real
Type représentant un réel.