Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ICaseOptions.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ICaseOptions.h (C) 2000-2025 */
9/* */
10/* Data set options. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ICASEOPTIONS_H
13#define ARCANE_CORE_ICASEOPTIONS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
35class ARCANE_CORE_EXPORT ICaseOptions
36{
38
39 protected:
40
41 virtual ~ICaseOptions() = default;
42
43 public:
44
46 virtual String rootTagTrueName() const = 0;
47
49 virtual String rootTagName() const = 0;
50
52 virtual String translatedName(const String& lang) const = 0;
53
54 ARCCORE_DEPRECATED_2019("Use read(eCaseOptionReadPhase) instead")
55 virtual void read(bool is_phase1) = 0;
56
60 virtual void read(eCaseOptionReadPhase read_phase) = 0;
61
62 virtual void addInvalidChildren(XmlNodeList&) = 0;
63
64 virtual void printChildren(const String& lang, int indent) = 0;
65
67 virtual IServiceInfo* caseServiceInfo() const = 0;
68
70 virtual IModule* caseModule() const = 0;
71
76 virtual void setCaseServiceInfo(IServiceInfo* m) = 0;
77
82 virtual void setCaseModule(IModule* m) = 0;
83
88 virtual void deepGetChildren(Array<CaseOptionBase*>& col) = 0;
89
90 virtual ICaseOptionList* configList() = 0;
91
92 virtual const ICaseOptionList* configList() const = 0;
93
96
102 virtual bool isPresent() const = 0;
103
112 virtual void addAlternativeNodeName(const String& lang, const String& name) = 0;
113
114 virtual ICaseMng* caseMng() const = 0;
115 virtual ITraceMng* traceMng() const = 0;
122 ARCCORE_DEPRECATED_2019("Do not use subDomain(). Try to get subDomain from an other way.")
123 virtual ISubDomain* subDomain() const = 0;
124 ARCCORE_DEPRECATED_2019("Use meshHandle().mesh() instead")
125 virtual IMesh* mesh() const = 0;
126 virtual MeshHandle meshHandle() const = 0;
127 ARCANE_DEPRECATED_REASON("Y2023: use caseMng()->caseDocument() instead.")
128 virtual ICaseDocument* caseDocument() const = 0;
129 virtual ICaseDocumentFragment* caseDocumentFragment() const = 0;
130
135 virtual void detach() = 0;
136
138 virtual void visit(ICaseDocumentVisitor* visitor) const = 0;
139
141 virtual String xpathFullName() const = 0;
142
143 public:
144
145 virtual Ref<ICaseOptions> toReference() = 0;
146};
147
148/*---------------------------------------------------------------------------*/
149/*---------------------------------------------------------------------------*/
154class ARCANE_CORE_EXPORT ICaseOptionsMulti
155{
156 public:
157
158 virtual ~ICaseOptionsMulti() {}
159
160 public:
161
162 virtual void multiAllocate(const XmlNodeList&) = 0;
163 virtual ICaseOptions* toCaseOptions() = 0;
164 virtual void addChild(ICaseOptionList* v) = 0;
165 virtual Integer nbChildren() const = 0;
166 virtual ICaseOptionList* child(Integer index) const = 0;
167};
168
169/*---------------------------------------------------------------------------*/
170/*---------------------------------------------------------------------------*/
171
172extern "C++" ARCANE_CORE_EXPORT ISubDomain*
173_arcaneDeprecatedGetSubDomain(ICaseOptions* opt);
174
175/*---------------------------------------------------------------------------*/
176/*---------------------------------------------------------------------------*/
177
178} // End namespace Arcane
179
180/*---------------------------------------------------------------------------*/
181/*---------------------------------------------------------------------------*/
182
183#endif
Declarations of types related to dataset options.
#define ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro to declare the virtual methods managing reference counters.
Base class for 1D data vectors.
Base class for a data set option.
Interface of a part of a dataset.
Visitor interface for a dataset option.
Interface of a class managing an XML document of the dataset.
Interface of a dataset function.
Case manager interface.
Definition ICaseMng.h:57
Interface for a data set options list.
Interface for a list of options that appears multiple times.
Interface for a list of data set options.
virtual void setCaseServiceInfo(IServiceInfo *m)=0
Associates the service m with this data set.
virtual void visit(ICaseDocumentVisitor *visitor) const =0
Applies the visitor to this option.
virtual void deepGetChildren(Array< CaseOptionBase * > &col)=0
Adds all child options to the list col.
virtual IServiceInfo * caseServiceInfo() const =0
Returns the associated service or nullptr if none exists.
virtual void addAlternativeNodeName(const String &lang, const String &name)=0
Adds a translation for the option name.
virtual bool isPresent() const =0
Indicates whether the option is present in the data set.
virtual void setCaseModule(IModule *m)=0
Associates the module m with this data set.
virtual ISubDomain * subDomain() const =0
Associated sub-domain.
virtual ICaseFunction * activateFunction()=0
Function indicating the activation status of the option.
virtual IModule * caseModule() const =0
Returns the associated module or nullptr if none exists.
virtual String rootTagTrueName() const =0
True name (untranslated) of the element.
virtual void detach()=0
virtual String rootTagName() const =0
Name of the element in the data set language.
virtual String xpathFullName() const =0
Full name in XPath format corresponding to rootElement().
virtual String translatedName(const String &lang) const =0
Name in the language lang of the option. Returns rootTagTrueName() if no translation exists.
Interface of a module.
Definition IModule.h:40
Interface for service or module information.
Interface of the subdomain manager.
Definition ISubDomain.h:75
Handle on a mesh.
Definition MeshHandle.h:48
Reference to an instance.
List of nodes of a DOM tree.
Definition XmlNodeList.h:36
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
eCaseOptionReadPhase
Reading phases.
Int32 Integer
Type representing an integer.