Arcane  v4.1.4.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#include "arccore/common/ArccoreApplicationBuildInfo.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*!
30 * \brief Informations pour construire une instance de IApplication.
31 */
32class ARCANE_CORE_EXPORT ApplicationBuildInfo
33: public ArccoreApplicationBuildInfo
34{
35 class Impl;
36
37 public:
38
39 ApplicationBuildInfo();
40 ApplicationBuildInfo(const ApplicationBuildInfo& rhs);
41 ~ApplicationBuildInfo();
42 ApplicationBuildInfo& operator=(const ApplicationBuildInfo& rhs);
43
44 public:
45
46 void setMessagePassingService(const String& name);
47 String messagePassingService() const;
48
49 Int32 nbSharedMemorySubDomain() const;
50 void setNbSharedMemorySubDomain(Int32 v);
51
52 Int32 nbReplicationSubDomain() const;
53 void setNbReplicationSubDomain(Int32 v);
54
55 Int32 nbProcessusSubDomain() const;
56 void setNbProcessusSubDomain(Int32 v);
57
58 /*!
59 * \brief Positionne le fichier de configuration du code.
60 * \sa configFileName().
61 */
62 void setConfigFileName(const String& name);
63
64 /*!
65 * \brief Nom du fichier de configuration du code.
66 *
67 * Par défaut, la valeur est celle de la chaîne vide ("").
68 * Dans ce cas, %Arcane recherche un fichier dont le nom
69 * est codeName() suivi de l'extension `.config`.
70 *
71 * Si la valeur est nulle, alors il n'y a pas de fichier de
72 * configuration chargé.
73 */
74 String configFileName() const;
75
76 /*!
77 * \brief Positionne le niveau de verbosité des messages
78 * sur la sortie standard.
79 */
80 void setOutputLevel(Int32 v);
81 Int32 outputLevel() const;
82
83 /*!
84 * \brief Positionne le niveau de verbosité des messages
85 * des fichiers listings réduits.
86 */
88 Int32 verbosityLevel() const;
89
90 Int32 minimalVerbosityLevel() const;
91 void setMinimalVerbosityLevel(Int32 v);
92
93 bool isMasterHasOutputFile() const;
94 void setIsMasterHasOutputFile(bool v);
95
96 /*!
97 * \brief Positionne le répertoire contenant les différentes sorties
98 * de la simulation.
99 *
100 * Parmi ces sorties on trouve le dépouillement, les traces de profilage,
101 * les sorties listings, ...
102 */
103 void setOutputDirectory(const String& name);
104 String outputDirectory() const;
105
106 public:
107
108 //! Positionne le nom de l'application
109 void setApplicationName(const String& v);
110 //! Nom de l'application
111 String applicationName() const;
112
113 //! Positionne le numéro de version du code
114 void setCodeVersion(const VersionInfo& version_info);
115 //! Numéro de version
116 VersionInfo codeVersion() const;
117
118 //! Positionne le nom du code
119 void setCodeName(const String& code_name);
120 //! Retourne le nom du code.
121 String codeName() const;
122
123 //! Stratégie pour punaiser les threads des tâches
125
126 //! Positionne la strategie pour punaiser les threads des tâches
127 void threadBindingStrategy(const String& v);
128
129 //! Source du jeu de données
131 //! Source du jeu de données
133
134 public:
135
136 /*!
137 * \brief Nom du gestionnaire de message par défaut.
138 * Ne doit être modifié que par Arcane.
139 */
141 String internalDefaultMessagePassingService() const;
142
143 public:
144
145 /*!
146 * \brief Ajoute la bibliothèque \a lib_name à la liste des bibliothèques
147 * chargées dynamiquements.
148 *
149 * \a lib_name doit être un nom, sans chemin et sans extension. Par exemple,
150 * \c my_lib est valide mais pas \c libtoto.so, ni \c /tmp/toto.
151 */
152 void addDynamicLibrary(const String& lib_name);
153
154 public:
155
156 /*!
157 * \brief Analyse les arguments de \a args.
158 *
159 * On ne récupère que les arguments du style *-A,x=b,y=c*.
160 * La méthode setDefaultValues() est appelée à la fin de cette
161 * méthode.
162 */
163 ARCANE_DEPRECATED_REASON("Use parseArgumentsAndSetDefaultsValues() instead")
168
169 public:
170
171 ApplicationInfo& _internalApplicationInfo();
172 const ApplicationInfo& _internalApplicationInfo() const;
173
174 public:
175
176 void setDefaultValues() override;
177 void setDefaultServices() override;
178
179 private:
180
181 Impl* m_p = nullptr;
182};
183
184/*---------------------------------------------------------------------------*/
185/*---------------------------------------------------------------------------*/
186
187} // End namespace Arcane
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
191
192#endif
193
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.
Informations sur une application.
void parseArgumentsAndSetDefaultsValues(const CommandLineArguments &args)
Analyse les arguments de args.
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 -*-
std::int32_t Int32
Type entier signé sur 32 bits.