Salome HOME
Copyright update 2021
[modules/yacs.git] / src / evalyfx / YACSEvalResource.hxx
index 75c1fb515112a7c3c6396524b218bfbe42b0d90e..112ebe8eecc828b9b0e784bf6b79c247bc7486f5 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2016  CEA/DEN, EDF R&D
+// Copyright (C) 2012-2021  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -26,6 +26,7 @@
 #include <map>
 #include <string>
 #include <vector>
+#include <list>
 
 #ifdef WIN32
 #define NOMINMAX
@@ -136,19 +137,28 @@ class YACSEvalParamsForCluster
 public:
   YACSEvalParamsForCluster():_exclusiveness(false),_nbOfProcs(1) { }
   bool getExclusiveness() const { return _exclusiveness; }
-  void setExclusiveness(bool newStatus);
+  YACSEVALYFX_EXPORT void setExclusiveness(bool newStatus);
   std::string getRemoteWorkingDir() const { return _remoteWorkingDir; }
   void setRemoteWorkingDir(const std::string& remoteWorkingDir) { _remoteWorkingDir=remoteWorkingDir; }
+  std::string getLocalWorkingDir() const { return _localWorkingDir; }
+  void setLocalWorkingDir(const std::string& localWorkingDir) { _localWorkingDir=localWorkingDir; }
   std::string getWCKey() const { return _wcKey; }
   void setWCKey(const std::string& wcKey) { _wcKey=wcKey; }
   unsigned int getNbProcs() const { return _nbOfProcs; }
   void setNbProcs(unsigned int nbProcs) { _nbOfProcs=nbProcs; }
-  void checkConsistency() const;
+  void setMaxDuration(const std::string& maxDuration) { _maxDuration=maxDuration; }
+  std::string getMaxDuration() const { return _maxDuration; }
+  std::list<std::string>& getInFiles(){ return _in_files;}
+  const std::list<std::string>& getInFiles()const { return _in_files;}
+  YACSEVALYFX_EXPORT void checkConsistency() const;
 private:
   bool _exclusiveness;
   std::string _remoteWorkingDir;
+  std::string _localWorkingDir;
   std::string _wcKey;
+  std::string _maxDuration;
   unsigned int _nbOfProcs;
+  std::list<std::string> _in_files;
 };
 
 class YACSEvalListOfResources : public YACSEvalNonConstLocker
@@ -164,8 +174,11 @@ public:
   YACSEVALYFX_EXPORT unsigned int getNumberOfProcsDeclared() const;
   YACSEVALYFX_EXPORT void checkOKForRun() const;
   YACSEVALYFX_EXPORT YACSEvalParamsForCluster& getAddParamsForCluster() { return _paramsInCaseOfCluster; }
+  YACSEVALYFX_EXPORT const YACSEvalParamsForCluster& getAddParamsForCluster() const { return _paramsInCaseOfCluster; }
   void apply();
   YACSEVALYFX_EXPORT ~YACSEvalListOfResources();
+public:// info only
+  YACSEVALYFX_EXPORT bool isMachineInteractive(const std::string& machine) const;
 public:
   ResourcesManager_cpp *getCatalogEntry() const { return _rm; }
   YACS::ENGINE::DeploymentTree *getDeploymentTree() const { return _dt; }