Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
ArcaneBasicCheckpoint_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_ARCANEBASICCHECKPOINT_H
9#define ARCANE_CASEOPTION_AXLSTAR_ARCANEBASICCHECKPOINT_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 CaseOptionsArcaneBasicCheckpoint
32{
33public:
34
35 /*-------------------------------------------------------------------------*/
36 /*--------------------------- Complex Options -----------------------------*/
37 /*-------------------------------------------------------------------------*/
38
39 /*-------------------------------------------------------------------------*/
40 /*--------------------------- Non Complex Options -------------------------*/
41 /*-------------------------------------------------------------------------*/
42
43 CaseOptionsArcaneBasicCheckpoint(Arcane::ICaseOptions* co)
44 : m_case_options(co)
45 , formatVersion(Arcane::CaseOptionBuildInfo(_configList(),
46 /* name */ "format-version", _element(),
47 /* default */ "2",
48 /* min-occurs */ 1,
49 /* max-occurs */ 1,
50 /* optional */ false))
51 , dataCompressor(Arcane::CaseOptionBuildInfo(_configList(),
52 /* name */ "data-compressor", _element(),
53 /* default */ Arcane::String(),
54 /* min-occurs */ 1,
55 /* max-occurs */ 1,
56 /* optional */ true),
57 /* allow-null */ false,
58 /* optional */ true)
59 {
60
61addAlternativeNodeName(
62 /* language */ Arcane::String("fr"),
63 /* alternative name */ Arcane::String("arcane-equilibrage-charge"));
64 }
65
66public:
67 // Interfaces for main CaseOptions
68
69 Arcane::Int32 getFormatVersion() { return formatVersion(); }
70 Arcane::ICaseFunction* getFormatVersionFunction() { return formatVersion.function(); }
71 Arcane::IStandardFunction* getFormatVersionStandardFunction() { return formatVersion.standardFunction(); }
72
73
74
75 Arcane::IDataCompressor* getDataCompressor() { return dataCompressor(); }
76 // Interfaces for complex options
77 bool hasDataCompressor() const
78 { return dataCompressor.isPresent(); }
79
80
81public:
82
83 Arcane::ICaseOptions* caseOptions() const
84 {
85 return m_case_options.get();
86 }
87
88 Arcane::ICaseOptionList* configList() const
89 {
90 return m_case_options->configList();
91 }
92
93 void setCaseModule(Arcane::IModule* m)
94 {
95 m_case_options->setCaseModule(m);
96 }
97
98 void setCaseServiceInfo(Arcane::IServiceInfo* si)
99 {
100 m_case_options->setCaseServiceInfo(si);
101 }
102
103 void addAlternativeNodeName(const Arcane::String& lang,
104 const Arcane::String& name)
105 {
106 m_case_options->addAlternativeNodeName(lang,name);
107 }
108
109private:
110
111 Arcane::ICaseOptionList* _configList() const { return configList(); }
112 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
113
114private:
115
116 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
117
119
120public:
121
122
123 Arcane::CaseOptionInt32 formatVersion;
125};
126
127/*---------------------------------------------------------------------------*/
128/*---------------------------------------------------------------------------*/
129
130ARCANE_END_NAMESPACE
131
132/*---------------------------------------------------------------------------*/
133/*---------------------------------------------------------------------------*/
134
135#endif
136
137
138
139/*---------------------------------------------------------------------------*/
140/*---------------------------------------------------------------------------*/
141// #WARNING#: This file has been generated automatically. Do not edit.
142// Axlstar version 1.0
143/*---------------------------------------------------------------------------*/
144/*---------------------------------------------------------------------------*/
145#ifndef ARCANE_SERVICE_AXLSTAR_ARCANEBASICCHECKPOINT_H
146#define ARCANE_SERVICE_AXLSTAR_ARCANEBASICCHECKPOINT_H
147/*---------------------------------------------------------------------------*/
148/*---------------------------------------------------------------------------*/
149
150#include "arcane/core/VariableTypes.h"
151#include "arcane/core/ServiceInfo.h"
152#include "arcane/core/ISubDomain.h"
153#include "arcane/core/ServiceBuildInfo.h"
155#include "arcane/core/ServiceRegisterer.h"
156#include "arcane/core/BasicService.h"
157
158#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
159// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
160// classes de base spécifiques pour les services
161namespace Arcane
162{
163using BasicCaseOptionService = BasicService;
164using BasicSubDomainService = BasicService;
165using BasicMeshService = BasicService;
166}
167#endif
168
169/*---------------------------------------------------------------------------*/
170/*---------------------------------------------------------------------------*/
171
172namespace Arcane
173{
174
175/*---------------------------------------------------------------------------*/
176/*---------------------------------------------------------------------------*/
177
178class CaseOptionsArcaneBasicCheckpoint;
179
180/*---------------------------------------------------------------------------*/
181/*---------------------------------------------------------------------------*/
182
185 : public CheckpointService
186{
187public:
188 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
189 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
190 {
191 si->setCaseOptionsFileName("ArcaneBasicCheckpoint_arcane_std");
192 si->setAxlVersion(0.0);
193 si->setDefaultTagName("arcane-basic-checkpoint");
194 si->setAxlContent(getAxlContent());
195 si->setTagName("arcane-equilibrage-charge","fr");
198);
199 }
200
201public:
202
205 : CheckpointService(sbi)
206 , m_options(nullptr)
207 {
209 if (co) {
211 }
212
213 }
214
217 {
218 delete m_options;
219 }
220
221
222public:
223
226
227private:
228
231
232protected:
233
235private:
237 {
238 const Arcane::Byte* content = (const Arcane::Byte*)"";
239 Arcane::Span<const Arcane::Byte> bytes(content,0);
240 int file_version = 1;
241 return Arcane::FileContent(bytes,file_version,"");
242 }
243};
244
245/*---------------------------------------------------------------------------*/
246/*---------------------------------------------------------------------------*/
247
248#define ARCANE_REGISTER_SERVICE_ARCANEBASICCHECKPOINT(service_name,class_name) \
249 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
250 Arcane::SFP_None ))
251
252/*---------------------------------------------------------------------------*/
253/*---------------------------------------------------------------------------*/
254
255} // End namespace Arcane
256
257/*---------------------------------------------------------------------------*/
258/*---------------------------------------------------------------------------*/
259
260#endif
261
This file contains the various service factories and macros for registering services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro to declare an interface when registering a service.
static Arcane::FileContent getAxlContent()
Variables du service.
ArcaneArcaneBasicCheckpointObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsArcaneBasicCheckpoint * options() const
Options du jeu de données du service.
CaseOptionsArcaneBasicCheckpoint * m_options
Options du jeu de données du service.
Base class of a service linked to a subdomain.
Information for building a dataset option.
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 the checkpoint/recovery write service.
Interface of a service for compressing/decompressing data.
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:633
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:42
std::int32_t Int32
Signed integer type of 32 bits.