Arcane  v3.14.10.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-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/* IServiceInfo.h (C) 2000-2018 */
9/* */
10/* Interface des informations d'un service. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ISERVICEINFO_H
13#define ARCANE_ISERVICEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IBase;
28class FileContent;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \ingroup Service
34 * \brief Interface des informations d'un service ou d'un module.
35 */
36class ARCANE_CORE_EXPORT IServiceInfo
37{
38 public:
39
40 static const Integer Dim1 = 1;
41 static const Integer Dim2 = 2;
42 static const Integer Dim3 = 4;
43
44 public:
45
46 virtual ~IServiceInfo() {} //!< Libère les ressources
47
48 public:
49
50 //! Partie locale du nom du service
51 virtual String localName() const =0;
52
53 //! Namespace du nom du service
54 virtual String namespaceURI() const =0;
55
56 //! Version du service
57 virtual VersionInfo version() const =0;
58
59 //! Version du fichier axl décrivant ce service
60 virtual Real axlVersion() const =0;
61
62 //! Indique si le service est utilisable en dimension \a n.
63 virtual bool allowDimension(Integer n) const =0;
64
65 /*! \brief Ajoute l'interface de nom \a name aux interfaces
66 * implémentées par ce service.
67 */
68 virtual void addImplementedInterface(const String& name) =0;
69
70 //! Liste des noms des classes implémentées par ce service
72
73 //! Nom du fichier contenant le jeu de données (nul si aucun)
74 virtual const String& caseOptionsFileName() const =0;
75
76 //! Liste des fabriques du service
78
79 //! Fabrique pour les service singleton (nullptr si non supporté)
81
82 /*! \brief Nom de l'élément XML du service pour le langage \a lang.
83 * Si \a lang est nul, retourne le nom par défaut.
84 */
85 virtual String tagName(const String& lang) const =0;
86
87 //! Infos sur les fabriques disponibles pour ce service
88 virtual IServiceFactoryInfo* factoryInfo() const =0;
89
90 /*!
91 * \brief Indique où peut être utilisé le service.
92 *
93 * Il s'agit d'une combinaison de valeurs de eServiceType.
94 */
95 virtual int usageType() const =0;
96
97 //! Contenu du fichier AXL associé à ce service ou module
98 virtual const FileContent& axlContent() const =0;
99};
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104ARCANE_END_NAMESPACE
105
106/*---------------------------------------------------------------------------*/
107/*---------------------------------------------------------------------------*/
108
109#endif
110
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()
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.
Informations sur une version.
Definition VersionInfo.h:46
Chaîne de caractères unicode.
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection de fabriques de service.