Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ArcaneCasePartitioner_axl.h
1/*---------------------------------------------------------------------------*/
2/*---------------------------------------------------------------------------*/
3// #WARNING#: This file has been generated automatically. Do not edit.
4// Axlstar version 1.0
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
41class CaseOptionsArcaneCasePartitioner
42{
43public:
44
45 /*-------------------------------------------------------------------------*/
46 /*--------------------------- Complex Options -----------------------------*/
47 /*-------------------------------------------------------------------------*/
48
49 /*-------------------------------------------------------------------------*/
50 /*--------------------------- Non Complex Options -------------------------*/
51 /*-------------------------------------------------------------------------*/
52
53 CaseOptionsArcaneCasePartitioner(Arcane::ICaseOptions* co)
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;
197 Arcane::CaseOptionString library;
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// Axlstar version 1.0
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{
243using BasicCaseOptionService = BasicService;
244using BasicSubDomainService = BasicService;
245using BasicMeshService = BasicService;
246}
247#endif
248
249/*---------------------------------------------------------------------------*/
250/*---------------------------------------------------------------------------*/
251
252ARCANE_BEGIN_NAMESPACE
253
254/*---------------------------------------------------------------------------*/
255/*---------------------------------------------------------------------------*/
256
257class CaseOptionsArcaneCasePartitioner;
258
259/*---------------------------------------------------------------------------*/
260/*---------------------------------------------------------------------------*/
261
264 : public Arcane::BasicCaseOptionService
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
285 : Arcane::BasicCaseOptionService(sbi)
286 , m_options(nullptr)
287 {
289 if (co) {
291 }
292
293 }
294
297 {
298 delete m_options;
299 }
300
301
302public:
303
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 to declare an interface when registering a 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.
Base class of a service linked to a subdomain.
Base class for a data set option.
Information for building a dataset option.
Option for the extended list of types dataset.
Constant view of an array of type T.
Description and content of a file.
Definition FileContent.h:33
Interface of a dataset function.
Case manager interface.
Definition ICaseMng.h:57
Interface for a data set options list.
Interface for a list of data set options.
Interface of a direct execution service.
Interface of a module.
Definition IModule.h:40
Interface for service or module information.
Interface managing a standard function.
Information about a service.
Definition ServiceInfo.h:51
Encapsulation of a pointer with a reference counter.
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Registers the factories for the Interfaces interfaces in the service.
ICaseOptions * caseOptions() const
Access to the associated ICaseOptions.
Structure containing the information to create a service.
View of an array of elements of type T.
Definition Span.h:635
Node of a DOM tree.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
unsigned char Byte
Type of a byte.
Definition BaseTypes.h:43
std::int32_t Int32
Signed integer type of 32 bits.