14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/List.h"
17#include "arcane/utils/VersionInfo.h"
18#include "arcane/utils/String.h"
19#include "arcane/utils/StringBuilder.h"
21#include "arcane/ServiceInfo.h"
22#include "arcane/ServiceFactory.h"
23#include "arcane/StringDictionary.h"
24#include "arcane/IBase.h"
45 m_factories.add(factory);
52 Integer m_valid_dimension;
54 String m_case_options_file_name;
74: m_namespace_uri(arcaneNamespaceURI())
81, m_usage_type(ST_None)
84 m_default_tag_name = m_default_tag_name.
lower();
93 delete m_singleton_factory;
124 return m_p->m_namespace_uri;
133 return m_p->m_local_name;
142 return m_p->m_version;
151 if (n==3 && (m_p->m_valid_dimension & Dim3))
153 if (n==2 && (m_p->m_valid_dimension & Dim2))
155 if (n==1 && (m_p->m_valid_dimension & Dim1))
166 if (m_p->m_implemented_interfaces.contains(name))
168 m_p->m_implemented_interfaces.add(name);
177 return m_p->m_implemented_interfaces;
186 return m_p->m_case_options_file_name;
193setCaseOptionsFileName(
const String&
fn)
195 m_p->m_case_options_file_name =
fn;
202addFactory(IServiceFactory2* factory)
204 m_p->addFactory(factory);
213 return m_p->factories();
222 return m_p->m_singleton_factory;
231 delete m_p->m_singleton_factory;
232 m_p->m_singleton_factory = f;
243 v = m_p->m_default_tag_name;
251setDefaultTagName(
const String& value)
253 m_p->m_default_tag_name = value;
262 m_p->m_tag_names.
add(
lang,value);
271 return m_p->m_axl_version;
278setAxlVersion(Real v)
const
280 m_p->m_axl_version = v;
289 return m_p->m_factory_info;
298 m_p->m_factory_info =
sfi;
310 return m_p->m_axl_content;
319 return m_p->m_usage_type;
328 ARCANE_UNUSED(filename);
333 String name = std::string_view(
sp.name());
336 si->setFactoryInfo(
sfi);
337 sfi->initProperties(
sp.properties());
338 si->m_p->m_usage_type =
sp.type();
349 return create(
sp,
"none",0);
Description et contenu d'un fichier.
Informations sur la fabrique d'un service.
Infos sur la fabrication d'un service ou d'un module.
Informations d'un service.
ServiceInfo(const String &local_name, const VersionInfo &version, Integer valid_dimension)
Constructeur.
const FileContent & axlContent() const override
Contenu du fichier AXL associé à ce service ou module.
~ServiceInfo() override
Destructeur.
String localName() const override
Partie locale du nom du service.
String namespaceURI() const override
Namespace du nom du service.
bool allowDimension(Integer n) const override
Indique si le service est utilisable en dimension n.
VersionInfo version() const override
Version du service.
StringCollection implementedInterfaces() const override
Liste des noms des classes implémentées par ce service.
ServiceFactory2Collection factories() const override
Liste des fabriques du service.
void addImplementedInterface(const String &name) override
Ajoute l'interface de nom name aux interfaces implémentées par ce service.
ISingletonServiceFactory * singletonFactory() const override
Fabrique pour les service singleton (nullptr si non supporté)
int usageType() const override
Indique où peut être utilisé le service.
const String & caseOptionsFileName() const override
Nom du fichier contenant le jeu de données (nul si aucun)
IServiceFactoryInfo * factoryInfo() const override
Infos sur les fabriques disponibles pour ce service.
Real axlVersion() const override
Version du fichier axl décrivant ce service.
String tagName(const String &lang) const override
Nom de l'élément XML du service pour le langage lang. Si lang est nul, retourne le nom par défaut.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Propriétés de création d'un service.
Dictionnaire de chaînes unicode.
void add(const String &key, const String &value)
Ajoute le couple (key,value) au dictionnaire.
String find(const String &key, bool throw_exception=false) const
Retourne la valeur associée à key.
Informations sur une version.
Chaîne de caractères unicode.
bool null() const
Retourne true si la chaîne est nulle.
String lower() const
Transforme tous les caractères de la chaîne en minuscules.