Arcane
v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ServiceInfo.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
/* ServiceInfo.h (C) 2000-2019 */
9
/* */
10
/* Informations d'un service. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_SERVICEINFO_H
13
#define ARCANE_SERVICEINFO_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/String.h"
18
#include "arcane/utils/FileContent.h"
19
#include "arcane/IServiceInfo.h"
20
21
/*---------------------------------------------------------------------------*/
22
/*---------------------------------------------------------------------------*/
23
24
namespace
Arcane
25
{
26
//TODO: a supprimer. cela est conservé pour compatibilité avec le générateur des axl.
27
using
Internal::ServiceInfo;
28
using
Internal::ServiceAllInterfaceRegisterer;
29
30
namespace
Internal
31
{
32
33
/*---------------------------------------------------------------------------*/
34
/*---------------------------------------------------------------------------*/
35
36
class
ServiceInfoPrivate;
37
38
/*---------------------------------------------------------------------------*/
39
/*---------------------------------------------------------------------------*/
40
/*!
41
* \internal
42
* \brief Informations d'un service.
43
*/
44
class
ARCANE_CORE_EXPORT
ServiceInfo
45
:
public
IServiceInfo
46
{
47
public
:
48
49
//! Constructeur
50
ServiceInfo
(
const
String
& local_name,
const
VersionInfo
& version,
51
Integer valid_dimension);
52
53
//! Destructeur
54
~ServiceInfo
()
override
;
55
56
public
:
57
58
//!@{ @name Méthodes d'accès héritées de IServiceInfo
59
String
localName()
const override
;
60
String
namespaceURI()
const override
;
61
VersionInfo
version()
const override
;
62
Real axlVersion()
const override
;
63
bool
allowDimension(Integer n)
const override
;
64
void
addImplementedInterface(
const
String
& name)
override
;
65
StringCollection
implementedInterfaces()
const override
;
66
const
String
& caseOptionsFileName()
const override
;
67
ServiceFactory2Collection
factories()
const override
;
68
ISingletonServiceFactory
* singletonFactory()
const override
;
69
String
tagName(
const
String
& lang)
const override
;
70
const
FileContent
& axlContent()
const override
;
71
//!@}
72
73
//!@{ @name Méthodes de construction spécifiques
74
virtual
void
setAxlVersion(Real v)
const
;
75
virtual
void
setCaseOptionsFileName(
const
String
& fn);
76
virtual
void
addFactory(
IServiceFactory2
* factory);
77
virtual
void
setDefaultTagName(
const
String
& value);
78
virtual
void
setTagName(
const
String
& value,
const
String
& lang);
79
virtual
void
setSingletonFactory(
Internal::ISingletonServiceFactory
* f);
80
//!@}
81
82
//! Infos sur les fabriques disponibles pour ce service
83
IServiceFactoryInfo
* factoryInfo()
const override
;
84
void
setFactoryInfo(
IServiceFactoryInfo
* sfi);
85
86
void
setAxlContent(
const
FileContent
& file_content);
87
88
int
usageType()
const override
;
89
90
public
:
91
92
// Fonction de création utilisée par les macros C++.
93
static
ServiceInfo
* create(
const
ServiceProperty
& sp,
const
char
* filename,
int
lineno);
94
95
// Fonction de création utilisée par le C#.
96
// (le C# ne peut pas utiliser la méthode C++ à cause de ServiceProperty
97
// qui contient un const char* qui sera collecté par le garbage collector)
98
static
ServiceInfo
* create(
const
String
& name,
int
service_type);
99
100
private
:
101
102
ServiceInfoPrivate
* m_p;
103
};
104
105
/*---------------------------------------------------------------------------*/
106
/*---------------------------------------------------------------------------*/
107
108
}
// End namespace Internal
109
}
// End namespace Arcane
110
111
/*---------------------------------------------------------------------------*/
112
/*---------------------------------------------------------------------------*/
113
114
#endif
115
Arcane::Collection< String >
Arcane::FileContent
Description et contenu d'un fichier.
Definition
FileContent.h:32
Arcane::IServiceFactoryInfo
Informations sur la fabrique d'un service.
Definition
IServiceFactory.h:44
Arcane::IServiceInfo
Interface des informations d'un service ou d'un module.
Definition
IServiceInfo.h:37
Arcane::Internal::IServiceFactory2
internal.
Definition
IServiceFactory.h:80
Arcane::Internal::ISingletonServiceFactory
internal.
Definition
IServiceFactory.h:144
Arcane::Internal::ServiceInfoPrivate
Definition
ServiceInfo.cc:36
Arcane::Internal::ServiceInfo
Definition
ServiceInfo.h:46
Arcane::ServiceProperty
Propriétés de création d'un service.
Definition
ServiceProperty.h:97
Arcane::VersionInfo
Informations sur une version.
Definition
VersionInfo.h:46
Arccore::String
Chaîne de caractères unicode.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
Arcane::ServiceFactory2Collection
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection de fabriques de service.
Definition
ArcaneTypes.h:437
arcane
core
ServiceInfo.h
Généré le Lundi 18 Novembre 2024 02:56:50 pour Arcane par
1.9.8