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