Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ApplicationInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ApplicationInfo.h (C) 2000-2024 */
9/* */
10/* Informations sur une application. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_APPLICATIONINFO_H
13#define ARCANE_UTILS_APPLICATIONINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/VersionInfo.h"
18#include "arcane/utils/String.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
38class ARCANE_UTILS_EXPORT ApplicationInfo
39{
40 public:
41
42 ApplicationInfo();
43 ApplicationInfo(int* argc,char*** argv,const String& name,const VersionInfo& version);
44 ApplicationInfo(const StringList& args,const String& name,const VersionInfo& version);
45 ApplicationInfo(const CommandLineArguments& args,const String& name,const VersionInfo& version);
46 ApplicationInfo(const ApplicationInfo& rhs);
47 ~ApplicationInfo();
48 ApplicationInfo& operator=(const ApplicationInfo& rhs);
49
50 public:
51
53 const String& applicationName() const;
55 ARCCORE_DEPRECATED_2020("use codeVersion() instead")
56 const VersionInfo& version() const { return codeVersion(); }
58 const VersionInfo& codeVersion() const;
60 const String& dataOsDir() const;
62 const String& dataDir() const;
63
65 ARCCORE_DEPRECATED_2020("use codeVersion().versionMajor() instead")
66 int versionMajor() const;
68 ARCCORE_DEPRECATED_2020("use codeVersion().versionMinor() instead")
69 int versionMinor() const;
71 ARCCORE_DEPRECATED_2020("use codeVersion().versionPatch() instead")
72 int versionPatch() const;
73
75 bool isDebug() const;
76
78 const String& codeName() const;
80 const String& targetFullName() const;
81
82 ARCCORE_DEPRECATED_2019("Use commandLineArguments().commandLineArgc() instead")
83 int* commandLineArgc() const;
84 ARCCORE_DEPRECATED_2019("Use commandLineArguments().commandLineArgv() instead")
85 char*** commandLineArgv() const;
86
88 void args(StringList& args) const;
89
91 const CommandLineArguments& commandLineArguments() const;
92
93 public:
94
102 void addDynamicLibrary(const String& lib_name);
103
105 StringCollection dynamicLibrariesName() const;
106
107 public:
108
110 void setDataOsDir(const String& v);
112 void setDataDir(const String& v);
114 ARCCORE_DEPRECATED_2020("use setCodeVersion() instead")
115 void setVersionInfo(const VersionInfo& version_info)
116 { setCodeVersion(version_info); }
117
118 void setApplicationName(const String& v);
120 void setCodeVersion(const VersionInfo& version_info);
122 void setCodeName(const String& code_name);
128 void setCommandLineArguments(const CommandLineArguments& args);
130 void setIsDebug(bool v);
131
132 public:
133
135 void setRuntimeConfigFileContent(ByteConstSpan content);
137 ByteConstSpan runtimeConfigFileContent() const;
138
139 public:
140
145 void addParameterLine(const String& line);
146
147 public:
148
149 ARCCORE_DEPRECATED_2019("Use commandLineArguments().commandLineArgc() instead")
150 int* m_argc;
151 ARCCORE_DEPRECATED_2019("Use commandLineArguments().commandLineArgv() instead")
152 char*** m_argv;
153
154 private:
155
157
158 private:
159
160 void _init(const String& name);
161 void _setArgs();
162};
163
164/*---------------------------------------------------------------------------*/
165/*---------------------------------------------------------------------------*/
166
167} // End namespace Arcane
168
169/*---------------------------------------------------------------------------*/
170/*---------------------------------------------------------------------------*/
171
172#endif
173
Déclarations des types utilisés dans Arcane.
int * m_argc
Nombre d'arguments de la ligne de commande.
void setCodeVersion(const VersionInfo &version_info)
Positionne le numéro de version.
const String & applicationName() const
Nom de l'application.
void args(StringList &args) const
Remplit args avec les arguments de la ligne de commande.
const VersionInfo & codeVersion() const
Numéro de version.
const VersionInfo & version() const
Numéro de version.
char *** m_argv
Tableau des arguments de la ligne de commande.
void setVersionInfo(const VersionInfo &version_info)
Positionne le numéro de version du code.
Arguments de la ligne de commande.
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 -*-
Collection< String > StringCollection
Collection de chaînes de caractères.
Definition UtilsTypes.h:593
List< String > StringList
Tableau de chaînes de caractères unicode.
Definition UtilsTypes.h:596