Arcane  4.2.1.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Hdf5VariableReader_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_HDF5VARIABLEREADER_H
9#define ARCANE_CASEOPTION_AXLSTAR_ARCANE_HDF5VARIABLEREADER_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
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24ARCANE_BEGIN_NAMESPACE
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
30class CaseOptionsHdf5VariableReader
31{
32public:
33
34 /*-------------------------------------------------------------------------*/
35 /*--------------------------- Complex Options -----------------------------*/
36 /*-------------------------------------------------------------------------*/
37 // Generation for option 'read'
38 // Generating multiple arity CaseOption for complex option value 'read'
39 class CaseOptionReadValue
41 {
42 public:
43
44 typedef CaseOptionReadValue ThatClass;
45
46 CaseOptionReadValue(Arcane::ICaseOptionsMulti* opt,Arcane::ICaseOptionList* icl, const Arcane::XmlNode& element)
47 : Arcane::CaseOptionComplexValue(opt,icl,element)
48 , meshName(Arcane::CaseOptionBuildInfo(_configList(),
49 /* name */ "mesh-name", _element(),
50 /* default */ "Mesh0",
51 /* min-occurs */ 1,
52 /* max-occurs */ 1,
53 /* optional */ false))
54 , fileName(Arcane::CaseOptionBuildInfo(_configList(),
55 /* name */ "file-name", _element(),
56 /* default */ Arcane::String(),
57 /* min-occurs */ 1,
58 /* max-occurs */ 1,
59 /* optional */ false))
60
61 {
62
63meshName.addAlternativeNodeName(
64 /* language */ Arcane::String("fr"),
65 /* alternative name */ Arcane::String("nom-maillage"));
66fileName.addAlternativeNodeName(
67 /* language */ Arcane::String("fr"),
68 /* alternative name */ Arcane::String("nom-fichier"));
69
70 }
71 public:
72 // Interfaces for multi-arity class CaseOptionsRead
73
74 Arcane::String getMeshName() { return meshName(); }
75 Arcane::ICaseFunction* getMeshNameFunction() { return meshName.function(); }
76 Arcane::IStandardFunction* getMeshNameStandardFunction() { return meshName.standardFunction(); }
77 Arcane::String getFileName() { return fileName(); }
78 Arcane::ICaseFunction* getFileNameFunction() { return fileName.function(); }
79 Arcane::IStandardFunction* getFileNameStandardFunction() { return fileName.standardFunction(); }
80
81
82
83 // Interfaces for complex options
84
85
86 public:
87
88 const ThatClass* operator->() const { return this; }
89
90 public:
91
92 Arcane::CaseOptionString meshName;
93 Arcane::CaseOptionString fileName;
94 };
95
96 // Generation for sub-option 'read'
97 class CaseOptionRead
99 , private Arcane::ArrayView< CaseOptionReadValue * >
100 {
101 public:
102
104
105 typedef CaseOptionReadValue value_type;
106
107 public:
108
109 CaseOptionRead(Arcane::ICaseOptionList* icl,
110 const Arcane::String& s, const Arcane::XmlNode& element)
111 : Arcane::CaseOptionsMulti(icl,s,element,0,-1)
112 {
113 // Generating translations and default values.
115 /* language */ Arcane::String("fr"),
116 /* alternative name */ Arcane::String("lecture"));
117 }
118
119 BaseClass operator()() { return (*this); }
120
121 protected:
122 void multiAllocate(const Arcane::XmlNodeList& elist)
123 {
124 Arcane::Integer s = elist.size();
125 value_type** v = 0;
126 if (s!=0)
127 v = new value_type*[s];
128 _setArray(v,s);
129 v = _ptr();
130 for( Arcane::Integer i=0; i<s; ++i ){
131 v[i] = new value_type(this,configList(),elist[i]);
132 }
133 }
134
135 public:
136
137 ~CaseOptionRead()
138 {
139 Arcane::Integer s = count();
140 if (s==0) return;
141 value_type** v = _ptr();
142 for( Arcane::Integer i=0; i<s; ++i ){
143 delete v[i];
144 }
145 delete[] v;
146 }
147
148 public:
149
150 const value_type& operator[](Arcane::Integer i) const
151 { return *(BaseClass::operator[](i)); }
152 value_type& operator[](Arcane::Integer i)
153 { return *(BaseClass::operator[](i)); }
154 Arcane::Integer count() const
155 { return BaseClass::size(); }
156 Arcane::Integer size() const
157 { return BaseClass::size(); }
158
159 };
160
161
162 /*-------------------------------------------------------------------------*/
163 /*--------------------------- Non Complex Options -------------------------*/
164 /*-------------------------------------------------------------------------*/
165
166 CaseOptionsHdf5VariableReader(Arcane::ICaseOptions* co)
167 : m_case_options(co)
168 , read(_configList(),
169 /* name */ "read", _element())
170 {
171
172read.addAlternativeNodeName(
173 /* language */ Arcane::String("fr"),
174 /* alternative name */ Arcane::String("lecture"));
175addAlternativeNodeName(
176 /* language */ Arcane::String("fr"),
177 /* alternative name */ Arcane::String("lecteur-variable-hdf5"));
178 }
179
180public:
181 // Interfaces for main CaseOptions
182
183
184
185
186 // Interfaces for complex options
187
188
189public:
190
191 Arcane::ICaseOptions* caseOptions() const
192 {
193 return m_case_options.get();
194 }
195
196 Arcane::ICaseOptionList* configList() const
197 {
198 return m_case_options->configList();
199 }
200
201 void setCaseModule(Arcane::IModule* m)
202 {
203 m_case_options->setCaseModule(m);
204 }
205
206 void setCaseServiceInfo(Arcane::IServiceInfo* si)
207 {
208 m_case_options->setCaseServiceInfo(si);
209 }
210
211 void addAlternativeNodeName(const Arcane::String& lang,
212 const Arcane::String& name)
213 {
214 m_case_options->addAlternativeNodeName(lang,name);
215 }
216
217private:
218
219 Arcane::ICaseOptionList* _configList() const { return configList(); }
220 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
221
222private:
223
224 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
225
226 Arcane::ReferenceCounter<Arcane::ICaseOptions> m_case_options;
227
228public:
229
230
231 CaseOptionRead read;
232};
233
234/*---------------------------------------------------------------------------*/
235/*---------------------------------------------------------------------------*/
236
237ARCANE_END_NAMESPACE
238
239/*---------------------------------------------------------------------------*/
240/*---------------------------------------------------------------------------*/
241
242#endif
243
244
245
246/*---------------------------------------------------------------------------*/
247/*---------------------------------------------------------------------------*/
248// #WARNING#: This file has been generated automatically. Do not edit.
249// Axlstar version 1.0
250/*---------------------------------------------------------------------------*/
251/*---------------------------------------------------------------------------*/
252#ifndef ARCANE_SERVICE_AXLSTAR_ARCANE_HDF5VARIABLEREADER_H
253#define ARCANE_SERVICE_AXLSTAR_ARCANE_HDF5VARIABLEREADER_H
254/*---------------------------------------------------------------------------*/
255/*---------------------------------------------------------------------------*/
256
257#include "arcane/core/VariableTypes.h"
258#include "arcane/core/ServiceInfo.h"
259#include "arcane/core/ISubDomain.h"
260#include "arcane/core/ServiceBuildInfo.h"
262#include "arcane/core/ServiceRegisterer.h"
263#include "arcane/core/BasicService.h"
264
265#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
266// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
267// classes de base spécifiques pour les services
268namespace Arcane
269{
270using BasicCaseOptionService = BasicService;
271using BasicSubDomainService = BasicService;
272using BasicMeshService = BasicService;
273}
274#endif
275
276/*---------------------------------------------------------------------------*/
277/*---------------------------------------------------------------------------*/
278
279ARCANE_BEGIN_NAMESPACE
280
281/*---------------------------------------------------------------------------*/
282/*---------------------------------------------------------------------------*/
283
284class CaseOptionsHdf5VariableReader;
285
286/*---------------------------------------------------------------------------*/
287/*---------------------------------------------------------------------------*/
288
291 : public BasicTimeLoopService
292{
293public:
294 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
295 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
296 {
297 si->setCaseOptionsFileName("Hdf5VariableReader_arcane_hdf5");
298 si->setAxlVersion(1.0);
299 si->setDefaultTagName("hdf5-variable-reader");
300 si->setAxlContent(getAxlContent());
301 si->setTagName("lecteur-variable-hdf5","fr");
304);
305 }
306
307public:
308
311 : BasicTimeLoopService(sbi)
312 , m_options(nullptr)
313 {
315 if (co) {
317 }
318
319 }
320
323 {
324 delete m_options;
325 }
326
327
328public:
329
332
333private:
334
337
338protected:
339
341private:
343 {
344 const Arcane::Byte* content = (const Arcane::Byte*)"";
345 Arcane::Span<const Arcane::Byte> bytes(content,0);
346 int file_version = 1;
347 return Arcane::FileContent(bytes,file_version,"");
348 }
349};
350
351/*---------------------------------------------------------------------------*/
352/*---------------------------------------------------------------------------*/
353
354#define ARCANE_REGISTER_SERVICE_HDF5VARIABLEREADER(service_name,class_name) \
355 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
356 Arcane::SFP_None ))
357
358/*---------------------------------------------------------------------------*/
359/*---------------------------------------------------------------------------*/
360
361ARCANE_END_NAMESPACE
362
363/*---------------------------------------------------------------------------*/
364/*---------------------------------------------------------------------------*/
365
366#endif
367
Ce fichier contient les différentes fabriques de services et macro pour enregistrer les services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro pour déclarer une interface lors de l'enregistrement d'un service.
CaseOptionsHdf5VariableReader * m_options
Options du jeu de données du service.
ArcaneHdf5VariableReaderObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsHdf5VariableReader * options() const
Options du jeu de données du service.
static Arcane::FileContent getAxlContent()
Variables du service.
Vue modifiable d'un tableau d'un type T.
Classe de base de service lié à un sous-domaine.
Informations pour construire une option de jeu de données.
Classe de base d'une valeur d'une option complexe.
Classe de base d'un tableau d'options complexes du jeu de données.
void addAlternativeNodeName(const String &lang, const String &name) override
Ajoute une traduction pour le nom de l'option. Ajoute le nom name de l'option correspondant au langag...
Description et contenu d'un fichier.
Definition FileContent.h:32
Interface d'une fonction du jeu de données.
Interface d'une liste d'options du jeu de données.
Interface d'une liste d'options présente plusieurs fois.
Interface d'une liste d'options du jeu de données.
Interface gérant une fonction standard.
Interface d'un service opérant lors de la boucle en temps.
Informations d'un service.
Definition ServiceInfo.h:46
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Enregistre dans le service les fabriques pour les interfacs Interfaces.
ICaseOptions * caseOptions() const
Accès au ICaseOptions associé.
Structure contenant les informations pour créer un service.
Vue d'un tableau d'éléments de type T.
Definition Span.h:633
Chaîne de caractères unicode.
Liste de noeuds d'un arbre DOM.
Definition XmlNodeList.h:35
Noeud d'un arbre DOM.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type représentant un entier.
unsigned char Byte
Type d'un octet.
Definition BaseTypes.h:42