Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Configuration.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* Configuration.h (C) 2000-2020 */
9/* */
10/* Gestion des options de configuration de l'exécution. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CONFIGURATION_H
13#define ARCANE_CONFIGURATION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface d'une section de configuration.
29 *
30 * Cette interface permet de récupérer les valeurs d'une option
31 * de configuration.
32 */
33class ARCANE_CORE_EXPORT IConfigurationSection
34{
35 public:
36
37 virtual ~IConfigurationSection() {} //!< Libère les ressources
38
39 public:
40
41 virtual Int32 value(const String& name,Int32 default_value) const =0;
42 virtual Int64 value(const String& name,Int64 default_value) const =0;
43 virtual Real value(const String& name,Real default_value) const =0;
44 virtual bool value(const String& name,bool default_value) const =0;
45 virtual String value(const String& name,const String& default_value) const =0;
46 virtual String value(const String& name,const char* default_value) const =0;
47
48 virtual Integer valueAsInteger(const String& name,Integer default_value) const =0;
49 virtual Int32 valueAsInt32(const String& name,Int32 default_value) const =0;
50 virtual Int64 valueAsInt64(const String& name,Int64 default_value) const =0;
51 virtual Real valueAsReal(const String& name,Real default_value) const =0;
52 virtual bool valueAsBool(const String& name,bool default_value) const =0;
53 virtual String valueAsString(const String& name,const String& default_value) const =0;
54};
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
58/*!
59 * \brief Interface d'une configuration.
60 */
61class ARCANE_CORE_EXPORT IConfiguration
62{
63 public:
64
65 virtual ~IConfiguration() {} //!< Libère les ressources
66
67 public:
68
69 /*!
70 * \brief Créé une section de configuration.
71 *
72 * L'instance retournée doit être détruire par l'opérateur delete.
73 */
74 virtual IConfigurationSection* createSection(const String& name) const =0;
75
76 /*!
77 * \brief Section principale.
78 *
79 * L'instance retournée reste la propriété de cette instance
80 * et ne doit pas être détruite.
81 */
83
84 /*!
85 * \brief Ajout une valeur à la configuration.
86 *
87 * Ajoute à la configuration la valeur \a value pour le
88 * nom \a name. La nouvelle valeur aura comme priority \a priority. Si
89 * une valeur de nom \a name existe déjà, elle est remplacée par
90 * \a value si \a priority est inférieure à la priorité actuelle.
91 */
92 virtual void addValue(const String& name,const String& value,Integer priority) =0;
93
94 /*!
95 * \brief Clone cette configuration.
96 */
97 virtual IConfiguration* clone() const =0;
98
99 /*!
100 * \brief Fusionne cette configuration avec la configuration \a c.
101 *
102 * Si une option existe à la fois dans cette configuration et dans \a c,
103 * c'est celle qui a la priorité la plus faible qui est conservée.
104 */
105 virtual void merge(const IConfiguration* c) =0;
106
107 //! Affiche les valeurs des paramètres de configuration via le traceMng()
108 virtual void dump() const =0;
109
110 //! Affiche les valeurs des paramètres de configuration sur le flot o
111 virtual void dump(std::ostream& ostr) const =0;
112};
113
114/*---------------------------------------------------------------------------*/
115/*---------------------------------------------------------------------------*/
116/*!
117 * \brief Gestionnaire de configuration.
118 */
119class ARCANE_CORE_EXPORT IConfigurationMng
120{
121 public:
122
123 virtual ~IConfigurationMng() {} //!< Libère les ressources
124
125 public:
126
127 //! Configuration par défaut.
129
130 /*!
131 * \brief Créé une nouvelle configuration.
132 *
133 * L'instance retournée doit être détruite par l'opérateur delete.
134 */
136};
137
138/*---------------------------------------------------------------------------*/
139/*---------------------------------------------------------------------------*/
140
141} // End namespace Arcane
142
143/*---------------------------------------------------------------------------*/
144/*---------------------------------------------------------------------------*/
145
146#endif
Fichier de configuration d'Arcane.
Gestionnaire de configuration.
virtual IConfiguration * createConfiguration()=0
Créé une nouvelle configuration.
virtual IConfiguration * defaultConfiguration() const =0
Configuration par défaut.
virtual ~IConfigurationMng()
Libère les ressources.
Interface d'une section de configuration.
virtual ~IConfigurationSection()
Libère les ressources.
Interface d'une configuration.
virtual ~IConfiguration()
Libère les ressources.
virtual IConfiguration * clone() const =0
Clone cette configuration.
virtual IConfigurationSection * mainSection() const =0
Section principale.
virtual void merge(const IConfiguration *c)=0
Fusionne cette configuration avec la configuration c.
virtual void dump() const =0
Affiche les valeurs des paramètres de configuration via le traceMng()
virtual void dump(std::ostream &ostr) const =0
Affiche les valeurs des paramètres de configuration sur le flot o.
virtual IConfigurationSection * createSection(const String &name) const =0
Créé une section de configuration.
virtual void addValue(const String &name, const String &value, Integer priority)=0
Ajout une valeur à la configuration.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-