Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArcaneCasePartitioner_axl.h
1/*---------------------------------------------------------------------------*/
2/*---------------------------------------------------------------------------*/
3// #WARNING#: This file has been generated automatically. Do not edit.
4// Arcane version 1.0 : 11/18/2024 02:52:34
5/*---------------------------------------------------------------------------*/
6/*---------------------------------------------------------------------------*/
7
8#ifndef ARCANE_CASEOPTION_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
9#define ARCANE_CASEOPTION_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
10
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/utils/String.h"
15
16#include "arcane/CaseOptions.h"
17#include "arcane/CaseOptionsMulti.h"
18#include "arcane/CaseOptionBuildInfo.h"
19#include "arcane/XmlNodeList.h"
20#include "arcane/ItemGroup.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25ARCANE_BEGIN_NAMESPACE
26extern "C++" bool
27_caseOptionConvert(const Arcane::CaseOptionBase&,
28 const Arcane::String&,
29 ItemGroup &);
30ARCANE_END_NAMESPACE
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35ARCANE_BEGIN_NAMESPACE
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
42{
43public:
44
45 /*-------------------------------------------------------------------------*/
46 /*--------------------------- Complex Options -----------------------------*/
47 /*-------------------------------------------------------------------------*/
48
49 /*-------------------------------------------------------------------------*/
50 /*--------------------------- Non Complex Options -------------------------*/
51 /*-------------------------------------------------------------------------*/
52
54 : m_case_options(co)
55 , nbCutPart(Arcane::CaseOptionBuildInfo(_configList(),
56 /* name */ "nb-cut-part", _element(),
57 /* default */ "0",
58 /* min-occurs */ 1,
59 /* max-occurs */ 1,
60 /* optional */ false))
61 , library(Arcane::CaseOptionBuildInfo(_configList(),
62 /* name */ "library", _element(),
63 /* default */ "DefaultPartitioner",
64 /* min-occurs */ 1,
65 /* max-occurs */ 1,
66 /* optional */ false))
67 , createCorrespondances(Arcane::CaseOptionBuildInfo(_configList(),
68 /* name */ "create-correspondances", _element(),
69 /* default */ "false",
70 /* min-occurs */ 1,
71 /* max-occurs */ 1,
72 /* optional */ false))
73 , nbGhostLayer(Arcane::CaseOptionBuildInfo(_configList(),
74 /* name */ "nb-ghost-layer", _element(),
75 /* default */ "0",
76 /* min-occurs */ 1,
77 /* max-occurs */ 1,
78 /* optional */ false))
79 , writerServiceName(Arcane::CaseOptionBuildInfo(_configList(),
80 /* name */ "writer-service-name", _element(),
81 /* default */ Arcane::String(),
82 /* min-occurs */ 1,
83 /* max-occurs */ 1,
84 /* optional */ false))
85 , meshFileNamePattern(Arcane::CaseOptionBuildInfo(_configList(),
86 /* name */ "mesh-file-name-pattern", _element(),
87 /* default */ "CPU%05d",
88 /* min-occurs */ 1,
89 /* max-occurs */ 1,
90 /* optional */ false))
91 , constraints(Arcane::CaseOptionBuildInfo(_configList(),
92 /* name */ "constraints", _element(),
93 /* default */ Arcane::String(),
94 /* min-occurs */ 0,
95 /* max-occurs */ -1,
96 /* optional */ false),
97 /* type */ "ItemGroup")
98 {
99
100nbCutPart.addAlternativeNodeName(
101 /* language */ Arcane::String("fr"),
102 /* alternative name */ Arcane::String("nb-partie-decoupees"));
103library.addAlternativeNodeName(
104 /* language */ Arcane::String("fr"),
105 /* alternative name */ Arcane::String("bibliotheque"));
106constraints.addAlternativeNodeName(
107 /* language */ Arcane::String("fr"),
108 /* alternative name */ Arcane::String("indivisible"));
109createCorrespondances.addAlternativeNodeName(
110 /* language */ Arcane::String("fr"),
111 /* alternative name */ Arcane::String("correspondance"));
112nbGhostLayer.addAlternativeNodeName(
113 /* language */ Arcane::String("fr"),
114 /* alternative name */ Arcane::String("nb-couches-fantomes"));
115writerServiceName.addAlternativeNodeName(
116 /* language */ Arcane::String("fr"),
117 /* alternative name */ Arcane::String("nom-service-ecriture"));
118meshFileNamePattern.addAlternativeNodeName(
119 /* language */ Arcane::String("fr"),
120 /* alternative name */ Arcane::String("patron-nom-fichier-maillage"));
121addAlternativeNodeName(
122 /* language */ Arcane::String("fr"),
123 /* alternative name */ Arcane::String("partitionneur-cas"));
124 }
125
126public:
127 // Interfaces for main CaseOptions
128
129 Arcane::Int32 getNbCutPart() { return nbCutPart(); }
130 Arcane::ICaseFunction* getNbCutPartFunction() { return nbCutPart.function(); }
131 Arcane::IStandardFunction* getNbCutPartStandardFunction() { return nbCutPart.standardFunction(); }
132 Arcane::String getLibrary() { return library(); }
133 Arcane::ICaseFunction* getLibraryFunction() { return library.function(); }
134 Arcane::IStandardFunction* getLibraryStandardFunction() { return library.standardFunction(); }
135 bool getCreateCorrespondances() { return createCorrespondances(); }
136 Arcane::ICaseFunction* getCreateCorrespondancesFunction() { return createCorrespondances.function(); }
137 Arcane::IStandardFunction* getCreateCorrespondancesStandardFunction() { return createCorrespondances.standardFunction(); }
138 Arcane::Int32 getNbGhostLayer() { return nbGhostLayer(); }
139 Arcane::ICaseFunction* getNbGhostLayerFunction() { return nbGhostLayer.function(); }
140 Arcane::IStandardFunction* getNbGhostLayerStandardFunction() { return nbGhostLayer.standardFunction(); }
141 Arcane::String getWriterServiceName() { return writerServiceName(); }
142 Arcane::ICaseFunction* getWriterServiceNameFunction() { return writerServiceName.function(); }
143 Arcane::IStandardFunction* getWriterServiceNameStandardFunction() { return writerServiceName.standardFunction(); }
144 Arcane::String getMeshFileNamePattern() { return meshFileNamePattern(); }
145 Arcane::ICaseFunction* getMeshFileNamePatternFunction() { return meshFileNamePattern.function(); }
146 Arcane::IStandardFunction* getMeshFileNamePatternStandardFunction() { return meshFileNamePattern.standardFunction(); }
147
148 Arcane::ConstArrayView< ItemGroup > getConstraints() { return constraints; }
149
150
151 // Interfaces for complex options
152
153
154public:
155
156 Arcane::ICaseOptions* caseOptions() const
157 {
158 return m_case_options.get();
159 }
160
161 Arcane::ICaseOptionList* configList() const
162 {
163 return m_case_options->configList();
164 }
165
166 void setCaseModule(Arcane::IModule* m)
167 {
168 m_case_options->setCaseModule(m);
169 }
170
171 void setCaseServiceInfo(Arcane::IServiceInfo* si)
172 {
173 m_case_options->setCaseServiceInfo(si);
174 }
175
176 void addAlternativeNodeName(const Arcane::String& lang,
177 const Arcane::String& name)
178 {
179 m_case_options->addAlternativeNodeName(lang,name);
180 }
181
182private:
183
184 Arcane::ICaseOptionList* _configList() const { return configList(); }
185 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
186
187private:
188
189 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
190
192
193public:
194
195
196 Arcane::CaseOptionInt32 nbCutPart;
198 Arcane::CaseOptionBool createCorrespondances;
199 Arcane::CaseOptionInt32 nbGhostLayer;
200 Arcane::CaseOptionString writerServiceName;
201 Arcane::CaseOptionString meshFileNamePattern;
203};
204
205/*---------------------------------------------------------------------------*/
206/*---------------------------------------------------------------------------*/
207
208ARCANE_END_NAMESPACE
209
210/*---------------------------------------------------------------------------*/
211/*---------------------------------------------------------------------------*/
212
213#endif
214
215
216
217/*---------------------------------------------------------------------------*/
218/*---------------------------------------------------------------------------*/
219// #WARNING#: This file has been generated automatically. Do not edit.
220// Arcane version 1.0 : 11/18/2024 02:52:34
221/*---------------------------------------------------------------------------*/
222/*---------------------------------------------------------------------------*/
223
224#ifndef ARCANE_MODULE_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
225#define ARCANE_MODULE_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
226
227/*---------------------------------------------------------------------------*/
228/*---------------------------------------------------------------------------*/
229
230#include "arcane/VariableTypes.h"
231#include "arcane/ServiceInfo.h"
232#include "arcane/ISubDomain.h"
233#include "arcane/ServiceBuildInfo.h"
234#include "arcane/ServiceFactory.h"
235#include "arcane/ServiceRegisterer.h"
236#include "arcane/BasicService.h"
237
238#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
239// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
240// classes de base spécifiques pour les services
241namespace Arcane
242{
246}
247#endif
248
249/*---------------------------------------------------------------------------*/
250/*---------------------------------------------------------------------------*/
251
252ARCANE_BEGIN_NAMESPACE
253
254/*---------------------------------------------------------------------------*/
255/*---------------------------------------------------------------------------*/
256
257class CaseOptionsArcaneCasePartitioner;
258
259/*---------------------------------------------------------------------------*/
260/*---------------------------------------------------------------------------*/
261
266{
267public:
268 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
269 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
270 {
271 si->setCaseOptionsFileName("ArcaneCasePartitioner_arcane_std");
272 si->setAxlVersion(1.0);
273 si->setDefaultTagName("arcane-case-partitioner");
274 si->setAxlContent(getAxlContent());
275 si->setTagName("partitionneur-cas","fr");
278);
279 }
280
281public:
282
286 , m_options(nullptr)
287 {
289 if (co) {
290 m_options = new CaseOptionsArcaneCasePartitioner(co);
291 }
292
293 }
294
297 {
298 delete m_options;
299 }
300
301
302public:
303
305 CaseOptionsArcaneCasePartitioner* options() const { return m_options; }
306
307private:
308
311
312protected:
313
315private:
317 {
318 const Arcane::Byte* content = (const Arcane::Byte*)"";
319 Arcane::Span<const Arcane::Byte> bytes(content,0);
320 int file_version = 1;
321 return Arcane::FileContent(bytes,file_version,"");
322 }
323};
324
325/*---------------------------------------------------------------------------*/
326/*---------------------------------------------------------------------------*/
327
328#define ARCANE_REGISTER_SERVICE_ARCANECASEPARTITIONER(service_name,class_name) \
329 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
330 Arcane::SFP_None ))
331
332/*---------------------------------------------------------------------------*/
333/*---------------------------------------------------------------------------*/
334
335ARCANE_END_NAMESPACE
336
337/*---------------------------------------------------------------------------*/
338/*---------------------------------------------------------------------------*/
339
340#endif
341
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro pour déclarer une interface lors de l'enregistrement d'un service.
Generation de la classe de base du Service.
CaseOptionsArcaneCasePartitioner * m_options
Options du jeu de données du service.
ArcaneArcaneCasePartitionerObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsArcaneCasePartitioner * options() const
Options du jeu de données du service.
static Arcane::FileContent getAxlContent()
Variables du service.
Classe de base de service lié à un sous-domaine.
Classe de base d'une option du jeu de donnée.
Informations pour construire une option de jeu de données.
Option du jeu de donnée de type liste de types étendus.
Description et contenu d'un fichier.
Definition FileContent.h:32
Interface d'une fonction du jeu de données.
Interface du gestionnaire de cas.
Definition ICaseMng.h:56
Interface d'une liste d'options du jeu de données.
Interface d'une liste d'options du jeu de données.
Interface d'un service d'exécution direct.
Interface d'un module.
Definition IModule.h:39
Interface des informations d'un service ou d'un module.
Interface gérant une fonction standard.
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Enregistre dans le service les fabriques pour les interfacs Interfaces.
Informations d'un service.
Definition ServiceInfo.h:46
ICaseOptions * caseOptions() const
Accès au ICaseOptions associé.
Structure contenant les informations pour créer un service.
Noeud d'un arbre DOM.
Definition XmlNode.h:51
Vue constante d'un tableau de type T.
Encapsulation d'un pointeur avec compteur de référence.
Vue d'un tableau d'éléments de type T.
Definition Span.h:510
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
unsigned char Byte
Type d'un octet.
Definition UtilsTypes.h:142