Arcane  v4.1.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ApplicationBuildInfo.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/* ApplicationBuildInfo.h (C) 2000-2026 */
9/* */
10/* Informations pour construire une instance de IApplication. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_APPLICATIONBUILDINFO_H
13#define ARCANE_UTILS_APPLICATIONBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Informations pour initialiser une application.
30 */
31class ARCANE_CORE_EXPORT ApplicationCoreBuildInfo
32{
33 class CoreImpl;
34
35 public:
36
37 ApplicationCoreBuildInfo();
38 ApplicationCoreBuildInfo(const ApplicationCoreBuildInfo& rhs);
39 ~ApplicationCoreBuildInfo();
40 ApplicationCoreBuildInfo& operator=(const ApplicationCoreBuildInfo& rhs);
41
42 public:
43
44 void setTaskImplementationService(const String& name);
45 void setTaskImplementationServices(const StringList& names);
46 StringList taskImplementationServices() const;
47
48 void setThreadImplementationService(const String& name);
49 void setThreadImplementationServices(const StringList& names);
50 StringList threadImplementationServices() const;
51
52 Int32 nbTaskThread() const;
53 void setNbTaskThread(Integer v);
54
55 public:
56
57 void addParameter(const String& name, const String& value);
58 /*!
59 * \brief Analyse les arguments de \a args.
60 *
61 * On ne récupère que les arguments du style *-A,x=b,y=c*.
62 * La méthode setDefaultValues() est appelée à la fin de cette
63 * méthode.
64 */
66 virtual void setDefaultValues();
67 virtual void setDefaultServices();
68
69 protected:
70
71 CoreImpl* m_core = nullptr;
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76/*!
77 * \brief Informations pour construire une instance de IApplication.
78 */
79class ARCANE_CORE_EXPORT ApplicationBuildInfo
80: public ApplicationCoreBuildInfo
81{
82 class Impl;
83
84 public:
85
86 ApplicationBuildInfo();
87 ApplicationBuildInfo(const ApplicationBuildInfo& rhs);
88 ~ApplicationBuildInfo();
89 ApplicationBuildInfo& operator=(const ApplicationBuildInfo& rhs);
90
91 public:
92
93 void setMessagePassingService(const String& name);
94 String messagePassingService() const;
95
96 Int32 nbSharedMemorySubDomain() const;
97 void setNbSharedMemorySubDomain(Int32 v);
98
99 Int32 nbReplicationSubDomain() const;
100 void setNbReplicationSubDomain(Int32 v);
101
102 Int32 nbProcessusSubDomain() const;
103 void setNbProcessusSubDomain(Int32 v);
104
105 /*!
106 * \brief Positionne le fichier de configuration du code.
107 * \sa configFileName().
108 */
109 void setConfigFileName(const String& name);
110
111 /*!
112 * \brief Nom du fichier de configuration du code.
113 *
114 * Par défaut, la valeur est celle de la chaîne vide ("").
115 * Dans ce cas, %Arcane recherche un fichier dont le nom
116 * est codeName() suivi de l'extension `.config`.
117 *
118 * Si la valeur est nulle, alors il n'y a pas de fichier de
119 * configuration chargé.
120 */
121 String configFileName() const;
122
123 /*!
124 * \brief Positionne le niveau de verbosité des messages
125 * sur la sortie standard.
126 */
127 void setOutputLevel(Int32 v);
128 Int32 outputLevel() const;
129
130 /*!
131 * \brief Positionne le niveau de verbosité des messages
132 * des fichiers listings réduits.
133 */
134 void setVerbosityLevel(Int32 v);
135 Int32 verbosityLevel() const;
136
137 Int32 minimalVerbosityLevel() const;
138 void setMinimalVerbosityLevel(Int32 v);
139
140 bool isMasterHasOutputFile() const;
141 void setIsMasterHasOutputFile(bool v);
142
143 /*!
144 * \brief Positionne le répertoire contenant les différentes sorties
145 * de la simulation.
146 *
147 * Parmi ces sorties on trouve le dépouillement, les traces de profilage,
148 * les sorties listings, ...
149 */
150 void setOutputDirectory(const String& name);
151 String outputDirectory() const;
152
153 public:
154
155 //! Positionne le nom de l'application
156 void setApplicationName(const String& v);
157 //! Nom de l'application
158 String applicationName() const;
159
160 //! Positionne le numéro de version du code
161 void setCodeVersion(const VersionInfo& version_info);
162 //! Numéro de version
163 VersionInfo codeVersion() const;
164
165 //! Positionne le nom du code
166 void setCodeName(const String& code_name);
167 //! Retourne le nom du code.
168 String codeName() const;
169
170 //! Stratégie pour punaiser les threads des tâches
172
173 //! Positionne la strategie pour punaiser les threads des tâches
174 void threadBindingStrategy(const String& v);
175
176 //! Source du jeu de données
178 //! Source du jeu de données
180
181 public:
182
183 /*!
184 * \brief Nom du gestionnaire de message par défaut.
185 * Ne doit être modifié que par Arcane.
186 */
188 String internalDefaultMessagePassingService() const;
189
190 public:
191
192 /*!
193 * \brief Ajoute la bibliothèque \a lib_name à la liste des bibliothèques
194 * chargées dynamiquements.
195 *
196 * \a lib_name doit être un nom, sans chemin et sans extension. Par exemple,
197 * \c my_lib est valide mais pas \c libtoto.so, ni \c /tmp/toto.
198 */
199 void addDynamicLibrary(const String& lib_name);
200
201 public:
202
203 /*!
204 * \brief Analyse les arguments de \a args.
205 *
206 * On ne récupère que les arguments du style *-A,x=b,y=c*.
207 * La méthode setDefaultValues() est appelée à la fin de cette
208 * méthode.
209 */
210 ARCANE_DEPRECATED_REASON("Use parseArgumentsAndSetDefaultsValues() instead")
215
216 public:
217
218 ApplicationInfo& _internalApplicationInfo();
219 const ApplicationInfo& _internalApplicationInfo() const;
220
221 public:
222
223 void setDefaultValues() override;
224 void setDefaultServices() override;
225
226 private:
227
228 Impl* m_p = nullptr;
229};
230
231/*---------------------------------------------------------------------------*/
232/*---------------------------------------------------------------------------*/
233
234} // End namespace Arcane
235
236/*---------------------------------------------------------------------------*/
237/*---------------------------------------------------------------------------*/
238
239#endif
240
Déclarations des types utilisés dans Arcane.
void setVerbosityLevel(Int32 v)
Positionne le niveau de verbosité des messages des fichiers listings réduits.
void setOutputDirectory(const String &name)
Positionne le répertoire contenant les différentes sorties de la simulation.
VersionInfo codeVersion() const
Numéro de version.
void setOutputLevel(Int32 v)
Positionne le niveau de verbosité des messages sur la sortie standard.
String configFileName() const
Nom du fichier de configuration du code.
void addDynamicLibrary(const String &lib_name)
Ajoute la bibliothèque lib_name à la liste des bibliothèques chargées dynamiquements.
void internalSetDefaultMessagePassingService(const String &name)
Nom du gestionnaire de message par défaut. Ne doit être modifié que par Arcane.
void setCodeName(const String &code_name)
Positionne le nom du code.
String applicationName() const
Nom de l'application.
void parseArguments(const CommandLineArguments &args)
Analyse les arguments de args.
void setApplicationName(const String &v)
Positionne le nom de l'application.
String codeName() const
Retourne le nom du code.
CaseDatasetSource & caseDatasetSource()
Source du jeu de données.
void setConfigFileName(const String &name)
Positionne le fichier de configuration du code.
void setCodeVersion(const VersionInfo &version_info)
Positionne le numéro de version du code.
String threadBindingStrategy() const
Stratégie pour punaiser les threads des tâches.
void parseArgumentsAndSetDefaultsValues(const CommandLineArguments &args)
Analyse les arguments de args.
Informations sur une application.
Source d'un jeu de données d'un cas.
Chaîne de caractères unicode.
Informations sur une version.
Definition VersionInfo.h:46
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
List< String > StringList
Tableau de chaînes de caractères unicode.
Definition UtilsTypes.h:509
std::int32_t Int32
Type entier signé sur 32 bits.