Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ArcaneDirectExecution_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_ARCANEDIRECTEXECUTION_H
9#define ARCANE_CASEOPTION_AXLSTAR_ARCANE_ARCANEDIRECTEXECUTION_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/CaseOptionService.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25ARCANE_BEGIN_NAMESPACE
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
31class CaseOptionsArcaneDirectExecution
32{
33public:
34
35 /*-------------------------------------------------------------------------*/
36 /*--------------------------- Complex Options -----------------------------*/
37 /*-------------------------------------------------------------------------*/
38
39 /*-------------------------------------------------------------------------*/
40 /*--------------------------- Non Complex Options -------------------------*/
41 /*-------------------------------------------------------------------------*/
42
43 CaseOptionsArcaneDirectExecution(Arcane::ICaseMng* cm)
44 : m_case_options(new Arcane::CaseOptions(cm,"arcane-direct-execution"))
45 , writeMesh(Arcane::CaseOptionBuildInfo(_configList(),
46 /* name */ "write-mesh", _element(),
47 /* default */ "false",
48 /* min-occurs */ 1,
49 /* max-occurs */ 1,
50 /* optional */ false))
51 , tool(Arcane::CaseOptionBuildInfo(_configList(),
52 /* name */ "tool", _element(),
53 /* default */ Arcane::String(),
54 /* min-occurs */ 0,
55 /* max-occurs */ -1,
56 /* optional */ false),
57 /* allow-null */ false)
58 {
59
60writeMesh.addAlternativeNodeName(
61 /* language */ Arcane::String("fr"),
62 /* alternative name */ Arcane::String("ecrit-maillage"));
63tool.addAlternativeNodeName(
64 /* language */ Arcane::String("fr"),
65 /* alternative name */ Arcane::String("tool"));
66addAlternativeNodeName(
67 /* language */ Arcane::String("fr"),
68 /* alternative name */ Arcane::String("execution-directe"));
69 }
70
71public:
72 // Interfaces for main CaseOptions
73
74 bool getWriteMesh() { return writeMesh(); }
75 Arcane::ICaseFunction* getWriteMeshFunction() { return writeMesh.function(); }
76 Arcane::IStandardFunction* getWriteMeshStandardFunction() { return writeMesh.standardFunction(); }
77
78
79
81 // Interfaces for complex options
82
83
84public:
85
86 Arcane::ICaseOptions* caseOptions() const
87 {
88 return m_case_options.get();
89 }
90
91 Arcane::ICaseOptionList* configList() const
92 {
93 return m_case_options->configList();
94 }
95
96 void setCaseModule(Arcane::IModule* m)
97 {
98 m_case_options->setCaseModule(m);
99 }
100
101 void setCaseServiceInfo(Arcane::IServiceInfo* si)
102 {
103 m_case_options->setCaseServiceInfo(si);
104 }
105
106 void addAlternativeNodeName(const Arcane::String& lang,
107 const Arcane::String& name)
108 {
109 m_case_options->addAlternativeNodeName(lang,name);
110 }
111
112private:
113
114 Arcane::ICaseOptionList* _configList() const { return configList(); }
115 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
116
117private:
118
119 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
120
122
123public:
124
125
126 Arcane::CaseOptionBool writeMesh;
128};
129
130/*---------------------------------------------------------------------------*/
131/*---------------------------------------------------------------------------*/
132
133ARCANE_END_NAMESPACE
134
135/*---------------------------------------------------------------------------*/
136/*---------------------------------------------------------------------------*/
137
138#endif
139
140
141
142/*---------------------------------------------------------------------------*/
143/*---------------------------------------------------------------------------*/
144// #WARNING#: This file has been generated automatically. Do not edit.
145// Axlstar version 1.0
146/*---------------------------------------------------------------------------*/
147/*---------------------------------------------------------------------------*/
148
149#ifndef ARCANE_MODULE_AXLSTAR_ARCANE_ARCANEDIRECTEXECUTION_H
150#define ARCANE_MODULE_AXLSTAR_ARCANE_ARCANEDIRECTEXECUTION_H
151
152/*---------------------------------------------------------------------------*/
153/*---------------------------------------------------------------------------*/
154
155#include "arcane/VariableTypes.h"
156#include "arcane/ServiceInfo.h"
157#include "arcane/ISubDomain.h"
158#include "arcane/ServiceBuildInfo.h"
159#include "arcane/ServiceFactory.h"
160#include "arcane/ServiceRegisterer.h"
161#include "arcane/BasicService.h"
162
163#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
164// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
165// classes de base spécifiques pour les services
166namespace Arcane
167{
168using BasicCaseOptionService = BasicService;
169using BasicSubDomainService = BasicService;
170using BasicMeshService = BasicService;
171}
172#endif
173
174/*---------------------------------------------------------------------------*/
175/*---------------------------------------------------------------------------*/
176
177ARCANE_BEGIN_NAMESPACE
178
179/*---------------------------------------------------------------------------*/
180/*---------------------------------------------------------------------------*/
181
182class CaseOptionsArcaneDirectExecution;
183
184/*---------------------------------------------------------------------------*/
185/*---------------------------------------------------------------------------*/
186
189 : public Arcane::BasicSubDomainService
191{
192public:
193 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
194 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
195 {
196 si->setCaseOptionsFileName("ArcaneDirectExecution_arcane_std");
197 si->setAxlVersion(1.0);
198 si->setDefaultTagName("arcane-direct-execution");
199 si->setAxlContent(getAxlContent());
200 si->setTagName("execution-directe","fr");
203);
204 }
205
206public:
207
210 : Arcane::BasicSubDomainService(sbi)
211 , m_options(nullptr)
212 {
214
215 }
216
219 {
220 delete m_options;
221 }
222
223
224public:
225
228
229private:
230
233
234protected:
235
237private:
239 {
240 const Arcane::Byte* content = (const Arcane::Byte*)"";
241 Arcane::Span<const Arcane::Byte> bytes(content,0);
242 int file_version = 1;
243 return Arcane::FileContent(bytes,file_version,"");
244 }
245};
246
247/*---------------------------------------------------------------------------*/
248/*---------------------------------------------------------------------------*/
249
250#define ARCANE_REGISTER_SERVICE_ARCANEDIRECTEXECUTION(service_name,class_name) \
251 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_SubDomain,\
252 Arcane::SFP_None ))
253
254/*---------------------------------------------------------------------------*/
255/*---------------------------------------------------------------------------*/
256
257ARCANE_END_NAMESPACE
258
259/*---------------------------------------------------------------------------*/
260/*---------------------------------------------------------------------------*/
261
262#endif
263
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro to declare an interface when registering a service.
static Arcane::FileContent getAxlContent()
Variables du service.
ArcaneArcaneDirectExecutionObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsArcaneDirectExecution * m_options
Options du jeu de données du service.
CaseOptionsArcaneDirectExecution * options() const
Options du jeu de données du service.
Base class of a service linked to a subdomain.
Information for building a dataset option.
Data set option of the service list type.
Base class for a data set options list.
Definition CaseOptions.h:58
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.
virtual ICaseMng * caseMng()=0
Returns the dataset manager.
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.
ISubDomain * subDomain() const
Access to the associated ISubDomain.
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