40 #ifndef __OPENFLUID_BASE_RUNTIMEENV_HPP__
41 #define __OPENFLUID_BASE_RUNTIMEENV_HPP__
49 #include <openfluid/ware/TypeDefs.hpp>
53 namespace openfluid {
namespace base {
69 const std::string m_Version;
70 const std::string m_FullVersion;
71 const std::string m_MajorMinorVersion;
73 std::string m_OutputDir;
74 std::string m_InputDir;
75 std::string m_UserDataDir;
76 std::string m_TempDir;
77 std::string m_HomeDir;
78 std::string m_MarketBagDir;
79 std::string m_MarketBagVersionDir;
81 std::string m_MarketBagSimVersionDir;
82 std::string m_MarketBagObsVersionDir;
83 std::string m_MarketBagBuildVersionDir;
84 std::string m_MarketBagDataVersionDir;
85 std::string m_MarketBagBinSubDir;
86 std::string m_MarketBagSrcSubDir;
88 std::string m_InstallPrefix;
90 std::vector<std::string> m_DefaultSimulatorsPlugsDirs;
91 std::vector<std::string> m_ExtraSimulatorsPlugsDirs;
93 std::vector<std::string> m_DefaultObserversPlugsDirs;
94 std::vector<std::string> m_ExtraObserversPlugsDirs;
97 std::string m_ProvidedExamplesDir;
98 std::string m_UserExamplesDir;
100 std::string m_UserID;
101 std::string m_HostName;
102 const std::string m_Arch;
104 unsigned int m_SimulatorsMaxNumThreads;
106 std::string m_DefaultConfigFilePath;
108 bool m_ClearOutputDir;
112 bool m_WriteSimReport;
116 unsigned int m_ValuesBufferSize;
118 bool m_IsUserValuesBufferSize;
124 bool m_IsLinkedToProject;
146 {
return m_Version; };
153 {
return m_FullVersion; };
160 {
return m_MajorMinorVersion; };
169 { m_InputDir = InputDir; mp_WareEnv->setValue(
"dir.input",m_InputDir); };
176 {
return m_InputDir; };
183 { m_OutputDir = OutputDir; mp_WareEnv->setValue(
"dir.output",m_OutputDir); };
190 {
return m_OutputDir; };
196 void setDateTimeOutputDir();
203 {
return m_MarketBagDir; };
210 {
return m_MarketBagVersionDir; };
217 {
return m_MarketBagSimVersionDir; };
224 {
return m_MarketBagObsVersionDir; };
231 {
return m_MarketBagBuildVersionDir; };
238 {
return m_MarketBagDataVersionDir; };
244 {
return m_MarketBagBinSubDir; };
250 {
return m_MarketBagSrcSubDir; };
257 {
return m_DefaultConfigFilePath; };
265 {
return m_UserDataDir +
"/" + Filename; };
273 {
return m_HomeDir; };
282 {
return m_UserDataDir +
"/" + RelativePath; };
287 void prepareUserDataDirectory()
const;
294 {
return m_TempDir; };
302 {
return m_InputDir +
"/" + Filename; };
310 {
return m_OutputDir +
"/" + Filename; };
317 std::string getSimulatorPluginFullPath(
const std::string& Filename)
const;
324 void addExtraSimulatorsPluginsPaths(std::string SemicolonSeparatedPaths);
327 { m_ExtraSimulatorsPlugsDirs.clear(); };
330 {
return m_DefaultSimulatorsPlugsDirs; };
333 {
return m_ExtraSimulatorsPlugsDirs; };
341 std::vector<std::string> ComposedPaths(m_ExtraSimulatorsPlugsDirs);
342 ComposedPaths.insert(ComposedPaths.end(),
343 m_DefaultSimulatorsPlugsDirs.begin(),
344 m_DefaultSimulatorsPlugsDirs.end());
345 return ComposedPaths;
353 std::string getObserverPluginFullPath(
const std::string& Filename)
const;
360 void addExtraObserversPluginsPaths(
const std::string& SemicolonSeparatedPaths);
363 { m_ExtraObserversPlugsDirs.clear(); };
366 {
return m_DefaultObserversPlugsDirs; };
369 {
return m_ExtraObserversPlugsDirs; };
377 std::vector<std::string> ComposedPaths(m_ExtraObserversPlugsDirs);
378 ComposedPaths.insert(ComposedPaths.end(),
379 m_DefaultObserversPlugsDirs.begin(),
380 m_DefaultObserversPlugsDirs.end());
381 return ComposedPaths;
393 {
return m_InstallPrefix; };
399 std::string getCommonResourcesDir()
const;
406 std::string getCommonResourceFilePath(std::string RelativeFilePath)
const;
413 std::string getAppResourcesDir(std::string AppName)
const;
421 std::string getAppResourceFilePath(std::string AppName, std::string RelativeFilePath)
const;
427 std::string getTranslationsDir()
const;
434 {
return m_ProvidedExamplesDir; };
442 {
return m_UserExamplesDir; };
450 {
return m_ExtraProperties; };
456 {
return m_ClearOutputDir; };
463 { m_ClearOutputDir = ClearDir; mp_WareEnv->setValue(
"mode.clearoutputdir",m_ClearOutputDir); };
467 {
return mp_WareEnv; };
486 std::string
getArch()
const {
return m_Arch; };
489 {
return m_SimulatorsMaxNumThreads; };
492 {
if (MaxNumThreads > 0) m_SimulatorsMaxNumThreads = MaxNumThreads; };
496 { m_ValuesBufferSize = StepsNbr; m_IsUserValuesBufferSize =
true; };
499 {
return m_ValuesBufferSize; };
502 {
return m_IsUserValuesBufferSize; };
505 { m_IsUserValuesBufferSize =
false; }
507 void linkToProject();
509 void detachFromProject();
512 {
return m_IsLinkedToProject; };
515 {
return m_Profiling; };
518 { m_Profiling = Profiling; };
std::vector< std::string > getExtraObserversPluginsPaths() const
Definition: RuntimeEnv.hpp:368
std::string getMarketBagDir() const
Definition: RuntimeEnv.hpp:202
std::string getUserHomeDir() const
Definition: RuntimeEnv.hpp:272
bool isUserValuesBufferSize() const
Definition: RuntimeEnv.hpp:501
std::vector< std::string > getDefaultSimulatorsPluginsPaths() const
Definition: RuntimeEnv.hpp:329
unsigned int getValuesBufferSize() const
Definition: RuntimeEnv.hpp:498
void setClearOutputDir(bool ClearDir)
Definition: RuntimeEnv.hpp:462
std::string getMarketBagBinSubDir() const
Definition: RuntimeEnv.hpp:243
std::string getMajorMinorVersion() const
Definition: RuntimeEnv.hpp:159
std::string getUserExamplesDir() const
Definition: RuntimeEnv.hpp:441
bool isClearOutputDir() const
Definition: RuntimeEnv.hpp:455
void unsetUserValuesBufferSize()
Definition: RuntimeEnv.hpp:504
std::string getMarketBagDataVersionDir() const
Definition: RuntimeEnv.hpp:237
std::string getMarketBagObsVersionDir() const
Definition: RuntimeEnv.hpp:223
std::string getVersion() const
Definition: RuntimeEnv.hpp:145
std::string getHostName() const
Definition: RuntimeEnv.hpp:474
bool isSimulationProfilingEnabled() const
Definition: RuntimeEnv.hpp:514
std::string getUserID() const
Definition: RuntimeEnv.hpp:480
std::string getInputDir() const
Definition: RuntimeEnv.hpp:175
std::string getTempDir() const
Definition: RuntimeEnv.hpp:293
std::string getFullVersion() const
Definition: RuntimeEnv.hpp:152
std::string getUserDataPath(std::string RelativePath) const
Definition: RuntimeEnv.hpp:281
std::string getArch() const
Definition: RuntimeEnv.hpp:486
std::string getInstallPrefix() const
Definition: RuntimeEnv.hpp:392
std::vector< std::string > getSimulatorsPluginsPaths() const
Definition: RuntimeEnv.hpp:339
std::string getInputFullPath(std::string Filename) const
Definition: RuntimeEnv.hpp:301
std::string getMarketBagSrcSubDir() const
Definition: RuntimeEnv.hpp:249
void resetExtraObserversPluginsPaths()
Definition: RuntimeEnv.hpp:362
void setSimulatorsMaxNumThreads(const unsigned int &MaxNumThreads)
Definition: RuntimeEnv.hpp:491
void setValuesBufferSize(const unsigned int StepsNbr)
Definition: RuntimeEnv.hpp:495
std::string getMarketBagBuildVersionDir() const
Definition: RuntimeEnv.hpp:230
Definition: RuntimeEnv.hpp:63
std::vector< std::string > getObserversPluginsPaths() const
Definition: RuntimeEnv.hpp:375
std::string getMarketBagVersionDir() const
Definition: RuntimeEnv.hpp:209
void setInputDir(const std::string &InputDir)
Definition: RuntimeEnv.hpp:168
openfluid::base::EnvironmentProperties & extraProperties()
Definition: RuntimeEnv.hpp:449
void resetExtraSimulatorsPluginsPaths()
Definition: RuntimeEnv.hpp:326
Definition: EnvProperties.hpp:53
std::string getDefaultConfigFile() const
Definition: RuntimeEnv.hpp:256
std::vector< std::string > getDefaultObserversPluginsPaths() const
Definition: RuntimeEnv.hpp:365
std::string getProvidedExamplesDir() const
Definition: RuntimeEnv.hpp:433
openfluid::base::EnvironmentProperties * wareEnvironment() const
Definition: RuntimeEnv.hpp:466
std::string getOutputFullPath(std::string Filename) const
Definition: RuntimeEnv.hpp:309
std::string getConfigFilePath(std::string Filename) const
Definition: RuntimeEnv.hpp:264
#define OPENFLUID_API
Definition: dllexport.hpp:87
unsigned int getSimulatorsMaxNumThreads() const
Definition: RuntimeEnv.hpp:488
bool isLinkedToProject() const
Definition: RuntimeEnv.hpp:511
std::vector< std::string > getExtraSimulatorsPluginsPaths() const
Definition: RuntimeEnv.hpp:332
std::string getMarketBagSimVersionDir() const
Definition: RuntimeEnv.hpp:216
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:93
void setOutputDir(const std::string &OutputDir)
Definition: RuntimeEnv.hpp:182
std::string getOutputDir() const
Definition: RuntimeEnv.hpp:189
void setSimulationProfilingEnabled(bool Profiling)
Definition: RuntimeEnv.hpp:517