Arcane
v3.14.10.0
Documentation développeur
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
/*---------------------------------------------------------------------------*/
44
class
ARCANE_CORE_EXPORT
ServiceInfo
45
:
public
IServiceInfo
46
{
47
public
:
48
50
ServiceInfo
(
const
String
&
local_name
,
const
VersionInfo
& version,
51
Integer
valid_dimension
);
52
54
~ServiceInfo
()
override
;
55
56
public
:
57
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
;
72
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);
81
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
Informations d'un service.
Definition
ServiceInfo.h:46
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
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
AcceleratorGlobal.h:36
arcane
core
ServiceInfo.h
Généré le Lundi 18 Novembre 2024 03:01:05 pour Arcane par
1.9.8