Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ICaseOptionListInternal.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/* ICaseOptionListInternal.h (C) 2000-2023 */
9/* */
10/* Internal part of Arcane's 'ICaseOptionList'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ICASEOPTIONLISTINTERNAL_H
13#define ARCANE_CORE_ICASEOPTIONLISTINTERNAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
32class ARCANE_CORE_EXPORT ICaseOptionListInternal
33{
34 protected:
35
36 virtual ~ICaseOptionListInternal() = default;
37
38 public:
39
40 virtual void addConfig(CaseOptionBase* o, const XmlNode& parent) = 0;
41
43 virtual void setRootElementWithParent(const XmlNode& parent_element) = 0;
44
46 virtual void setRootElement(const XmlNode& root_element) = 0;
47
49 virtual void addInvalidChildren(XmlNodeList& nlist) = 0;
50
51 public:
52
53 static ICaseOptionList* create(ICaseMng* m, ICaseOptions* ref_opt,
54 const XmlNode& parent_element);
55 static ICaseOptionList* create(ICaseOptionList* parent, ICaseOptions* ref_opt,
56 const XmlNode& parent_element);
57 static ICaseOptionList* create(ICaseOptionList* parent, ICaseOptions* ref_opt,
58 const XmlNode& parent_element,
59 bool is_optional, bool is_multi);
60 static ICaseOptionList* create(ICaseOptionsMulti* com, ICaseOptions* co,
61 ICaseMng* m, const XmlNode& element,
62 Integer min_occurs, Integer max_occurs);
63 static ICaseOptionList* create(ICaseOptionsMulti* com, ICaseOptions* co,
64 ICaseOptionList* parent, const XmlNode& element,
65 Integer min_occurs, Integer max_occurs);
66};
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71} // End namespace Arcane
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76#endif
Declarations of Arcane's general types.
Declarations of types related to dataset options.
Base class for a data set option.
Case manager interface.
Definition ICaseMng.h:57
Internal API of the data set options list interface.
virtual void setRootElementWithParent(const XmlNode &parent_element)=0
Positions the root element of the list, with parent_element as parent. If already positioned,...
virtual void setRootElement(const XmlNode &root_element)=0
Positions the root element of the list. If already positioned, throws an exception.
virtual void addInvalidChildren(XmlNodeList &nlist)=0
Adds child elements that do not correspond to options in nlist.
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.
List of nodes of a DOM tree.
Definition XmlNodeList.h:36
Node of a DOM tree.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.