40 #ifndef __RUNTIMEENV_HPP__
41 #define __RUNTIMEENV_HPP__
44 #include <boost/date_time/posix_time/posix_time.hpp>
45 #include <boost/filesystem/path.hpp>
53 namespace openfluid {
namespace base {
69 std::string m_Version;
70 std::string m_FullVersion;
71 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;
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 boost::posix_time::ptime m_IgnitionDateTime;
126 boost::posix_time::time_duration m_EffectiveSimulationDuration;
135 bool m_IsLinkedToProject;
178 { m_InputDir = InputDir; mp_WareEnv->setValue(
"dir.input",m_InputDir); };
191 { m_OutputDir = OutputDir; mp_WareEnv->setValue(
"dir.output",m_OutputDir); };
202 void setDateTimeOutputDir();
250 {
return m_DefaultConfigFilePath; };
258 {
return boost::filesystem::path(m_UserDataDir +
"/" + Filename).string(); };
266 {
return m_HomeDir; };
274 {
return boost::filesystem::path(m_UserDataDir +
"/" + RelativePath).string(); };
281 {
return m_TempDir; };
289 {
return boost::filesystem::path(m_InputDir +
"/" + Filename).string(); };
297 {
return boost::filesystem::path(m_OutputDir +
"/" + Filename).string(); };
304 std::string getSimulatorPluginFullPath(std::string Filename);
311 void addExtraSimulatorsPluginsPaths(std::string SemicolonSeparatedPaths);
325 std::vector<std::string> ComposedPaths(m_ExtraSimulatorsPlugsDirs);
326 ComposedPaths.insert(ComposedPaths.end(), m_DefaultSimulatorsPlugsDirs.begin(), m_DefaultSimulatorsPlugsDirs.end());
327 return ComposedPaths;
335 std::string getObserverPluginFullPath(std::string Filename);
342 void addExtraObserversPluginsPaths(std::string SemicolonSeparatedPaths);
356 std::vector<std::string> ComposedPaths(m_ExtraObserversPlugsDirs);
357 ComposedPaths.insert(ComposedPaths.end(), m_DefaultObserversPlugsDirs.begin(), m_DefaultObserversPlugsDirs.end());
358 return ComposedPaths;
369 {
return m_InstallPrefix; };
375 std::string getCommonResourcesDir()
const;
382 std::string getCommonResourceFilePath(std::string RelativeFilePath)
const;
389 std::string getAppResourcesDir(std::string AppName)
const;
397 std::string getAppResourceFilePath(std::string AppName, std::string RelativeFilePath)
const;
403 std::string getTranslationsDir()
const;
424 {
return m_ExtraProperties; };
436 { m_ClearOutputDir = ClearDir; mp_WareEnv->setValue(
"mode.clearoutputdir",m_ClearOutputDir); };
443 {
return m_WriteResults; };
450 { m_WriteResults = WriteIt; mp_WareEnv->setValue(
"mode.saveresults",m_WriteResults); };
463 { m_WriteSimReport = WriteIt; mp_WareEnv->setValue(
"mode.writereport",m_WriteSimReport); };
466 {
return mp_WareEnv; };
470 {
return m_IgnitionDateTime; };
473 void resetIgnitionDateTime();
477 {
return m_EffectiveSimulationDuration; };
481 { m_EffectiveSimulationDuration = TimeDuration; };
499 std::string
getArch()
const {
return m_Arch; };
504 {
if (MaxNumThreads > 0) m_SimulatorsMaxNumThreads = MaxNumThreads; };
512 {
return m_StartTime; };
515 {
return m_EndTime; };
519 {
return m_TimeStep; };
522 { m_ValuesBufferSize = StepsNbr; m_IsUserValuesBufferSize =
true; };
525 {
return m_ValuesBufferSize; };
530 { m_IsUserValuesBufferSize =
false; }
532 void linkToProject();
534 void detachFromProject();
537 {
return m_IsLinkedToProject; };
std::string getUserDataPath(std::string RelativePath) const
Definition: RuntimeEnv.hpp:273
std::string getMarketBagDataVersionDir() const
Definition: RuntimeEnv.hpp:233
void setInputDir(const std::string InputDir)
Definition: RuntimeEnv.hpp:177
std::string getInstallPrefix() const
Definition: RuntimeEnv.hpp:368
std::string getDefaultConfigFile() const
Definition: RuntimeEnv.hpp:249
std::vector< std::string > getDefaultObserversPluginsPaths() const
Definition: RuntimeEnv.hpp:346
bool isWriteResults() const
Definition: RuntimeEnv.hpp:442
std::vector< std::string > getExtraSimulatorsPluginsPaths() const
Definition: RuntimeEnv.hpp:317
std::string getHostName() const
Definition: RuntimeEnv.hpp:487
bool isSimulationProfilingEnabled() const
Definition: RuntimeEnv.hpp:539
openfluid::core::DateTime getSimulationStartTime() const
Definition: RuntimeEnv.hpp:511
std::string getUserID() const
Definition: RuntimeEnv.hpp:493
std::string getMarketBagSrcSubDir() const
Definition: RuntimeEnv.hpp:243
void setSimulatorsMaxNumThreads(const unsigned int &MaxNumThreads)
Definition: RuntimeEnv.hpp:503
void setValuesBufferSize(const unsigned int StepsNbr)
Definition: RuntimeEnv.hpp:521
std::string getInputDir() const
Definition: RuntimeEnv.hpp:184
std::string getOutputDir() const
Definition: RuntimeEnv.hpp:197
std::vector< std::string > getExtraObserversPluginsPaths() const
Definition: RuntimeEnv.hpp:348
openfluid::core::DateTime getSimulationEndTime() const
Definition: RuntimeEnv.hpp:514
std::vector< std::string > getObserversPluginsPaths() const
Definition: RuntimeEnv.hpp:354
std::string getOutputFullPath(std::string Filename) const
Definition: RuntimeEnv.hpp:296
bool isLinkedToProject()
Definition: RuntimeEnv.hpp:536
std::string getFullVersion() const
Definition: RuntimeEnv.hpp:163
void setOutputDir(const std::string OutputDir)
Definition: RuntimeEnv.hpp:190
Class for management of date and time information.
Definition: DateTime.hpp:131
std::string getArch() const
Definition: RuntimeEnv.hpp:499
std::string getConfigFilePath(std::string Filename) const
Definition: RuntimeEnv.hpp:257
boost::posix_time::time_duration getEffectiveSimulationDuration() const
Definition: RuntimeEnv.hpp:476
bool isWriteSimReport() const
Definition: RuntimeEnv.hpp:456
int getSimulationTimeStep() const
Definition: RuntimeEnv.hpp:518
std::string getMarketBagSimVersionDir() const
Definition: RuntimeEnv.hpp:218
std::vector< std::string > getSimulatorsPluginsPaths() const
Definition: RuntimeEnv.hpp:323
std::string getInputFullPath(std::string Filename) const
Definition: RuntimeEnv.hpp:288
std::string getMarketBagBinSubDir() const
Definition: RuntimeEnv.hpp:238
std::string getMajorMinorVersion() const
Definition: RuntimeEnv.hpp:169
void resetExtraObserversPluginsPaths()
Definition: RuntimeEnv.hpp:344
openfluid::base::EnvironmentProperties & getExtraProperties()
Definition: RuntimeEnv.hpp:423
void unsetUserValuesBufferSize()
Definition: RuntimeEnv.hpp:529
std::string getProvidedExamplesDir() const
Definition: RuntimeEnv.hpp:409
bool isUserValuesBufferSize() const
Definition: RuntimeEnv.hpp:527
std::vector< std::string > getDefaultSimulatorsPluginsPaths() const
Definition: RuntimeEnv.hpp:315
unsigned int getSimulatorsMaxNumThreads() const
Definition: RuntimeEnv.hpp:501
std::string getUserExamplesDir() const
Definition: RuntimeEnv.hpp:416
bool isClearOutputDir() const
Definition: RuntimeEnv.hpp:429
std::string getVersion() const
Definition: RuntimeEnv.hpp:157
boost::posix_time::ptime getIgnitionDateTime() const
Definition: RuntimeEnv.hpp:469
void setWriteSimReport(bool WriteIt)
Definition: RuntimeEnv.hpp:462
std::string getTempDir() const
Definition: RuntimeEnv.hpp:280
std::string getMarketBagBuildVersionDir() const
Definition: RuntimeEnv.hpp:228
openfluid::base::EnvironmentProperties * getWareEnvironment() const
Definition: RuntimeEnv.hpp:465
Definition: RuntimeEnv.hpp:63
unsigned int getValuesBufferSize() const
Definition: RuntimeEnv.hpp:524
void resetExtraSimulatorsPluginsPaths()
Definition: RuntimeEnv.hpp:313
void setSimulationProfilingEnabled(bool Profiling)
Definition: RuntimeEnv.hpp:541
std::string getMarketBagObsVersionDir() const
Definition: RuntimeEnv.hpp:223
void setEffectiveSimulationDuration(const boost::posix_time::time_duration &TimeDuration)
Definition: RuntimeEnv.hpp:480
std::string getMarketBagDir() const
Definition: RuntimeEnv.hpp:208
std::string getUserHomeDir() const
Definition: RuntimeEnv.hpp:265
std::string getMarketBagVersionDir() const
Definition: RuntimeEnv.hpp:213
void setClearOutputDir(bool ClearDir)
Definition: RuntimeEnv.hpp:435
Definition: EnvProperties.hpp:53
void setWriteResults(bool WriteIt)
Definition: RuntimeEnv.hpp:449
#define DLLEXPORT
Definition: dllexport.hpp:51