Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
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/* Information for constructing an instance of 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/*!
31 * \brief Information for constructing an instance of IApplication.
32 */
33class ARCANE_CORE_EXPORT ApplicationBuildInfo
34: public ArccoreApplicationBuildInfo
35{
36 class Impl;
37
38 public:
39
40 ApplicationBuildInfo();
41 ApplicationBuildInfo(const ApplicationBuildInfo& rhs);
42 ~ApplicationBuildInfo();
43 ApplicationBuildInfo& operator=(const ApplicationBuildInfo& rhs);
44
45 public:
46
47 void setMessagePassingService(const String& name);
48 String messagePassingService() const;
49
50 Int32 nbSharedMemorySubDomain() const;
51 void setNbSharedMemorySubDomain(Int32 v);
52
53 Int32 nbReplicationSubDomain() const;
54 void setNbReplicationSubDomain(Int32 v);
55
56 Int32 nbProcessusSubDomain() const;
57 void setNbProcessusSubDomain(Int32 v);
58
59 /*!
60 * \brief Sets the code configuration file.
61 * \sa configFileName().
62 */
63 void setConfigFileName(const String& name);
64
65 /*!
66 * \brief Name of the code configuration file.
67 *
68 * By default, the value is an empty string ("").
69 * In this case, %Arcane searches for a file whose name
70 * is codeName() followed by the `.config` extension.
71 *
72 * If the value is null, then no configuration file is loaded.
73 */
74 String configFileName() const;
75
76 /*!
77 * \brief Sets the message verbosity level
78 * on standard output.
79 */
80 void setOutputLevel(Int32 v);
81 Int32 outputLevel() const;
82
83 /*!
84 * \brief Sets the message verbosity level
85 * of reduced listing files.
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 Sets the directory containing the various
98 * simulation outputs.
99 *
100 * These outputs include the summary, profiling traces,
101 * listing outputs, ...
102 */
103 void setOutputDirectory(const String& name);
104 String outputDirectory() const;
105
106 public:
107
108 //! Sets the application name
109 void setApplicationName(const String& v);
110 //! Application name
111 String applicationName() const;
112
113 //! Sets the code version
114 void setCodeVersion(const VersionInfo& version_info);
115 //! Version number
116 VersionInfo codeVersion() const;
117
118 //! Sets the code name
119 void setCodeName(const String& code_name);
120 //! Returns the code name.
121 String codeName() const;
122
123 //! Strategy for binding task threads
125
126 //! Sets the strategy for binding task threads
127 void threadBindingStrategy(const String& v);
128
129 //! Dataset source
131 //! Dataset source
133
134 public:
135
136 /*!
137 * \brief Default message passing manager name.
138 * Must only be modified by Arcane.
139 */
141 String internalDefaultMessagePassingService() const;
142
143 public:
144
145 /*!
146 * \brief Adds the library \a lib_name to the list of
147 * dynamically loaded libraries.
148 *
149 * \a lib_name must be a name, without path or extension. For example,
150 * \c my_lib is valid but not \c libtoto.so, nor \c /tmp/toto.
151 */
152 void addDynamicLibrary(const String& lib_name);
153
154 public:
155
156 /*!
157 * \brief Parses the arguments in \a args.
158 *
159 * Only arguments of the style *-A,x=b,y=c* are retrieved.
160 * The setDefaultValues() method is called at the end of this
161 * method.
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
Declarations of types used in Arcane.
void setVerbosityLevel(Int32 v)
Sets the message verbosity level of reduced listing files.
void setOutputDirectory(const String &name)
Sets the directory containing the various simulation outputs.
VersionInfo codeVersion() const
Version number.
void setOutputLevel(Int32 v)
Sets the message verbosity level on standard output.
String configFileName() const
Name of the code configuration file.
void addDynamicLibrary(const String &lib_name)
Adds the library lib_name to the list of dynamically loaded libraries.
void internalSetDefaultMessagePassingService(const String &name)
Default message passing manager name. Must only be modified by Arcane.
void setCodeName(const String &code_name)
Sets the code name.
String applicationName() const
Application name.
void parseArguments(const CommandLineArguments &args)
Parses the arguments in args.
void setApplicationName(const String &v)
Sets the application name.
String codeName() const
Returns the code name.
CaseDatasetSource & caseDatasetSource()
Dataset source.
void setConfigFileName(const String &name)
Sets the code configuration file.
void setCodeVersion(const VersionInfo &version_info)
Sets the code version.
String threadBindingStrategy() const
Strategy for binding task threads.
Application information.
void parseArgumentsAndSetDefaultsValues(const CommandLineArguments &args)
Parses the arguments in args.
Source of a case dataset.
Information about a version.
Definition VersionInfo.h:47
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.