Salome HOME
SALOMEHPContainer getNumberOfFreePlace and allocateFor
[modules/yacs.git] / src / runtime / SalomeHPContainer.hxx
index 879dff414a5bc4d7a520bec939c382ff7143d6b1..e6e4f3c8fb87ab6f2b5e2c8d75d90b9982b42a09 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2006-2016  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
@@ -46,7 +46,9 @@ namespace YACS
       SalomeHPContainer();
       SalomeHPContainer(const SalomeHPContainer& other);
       //HP specific part
+      void assignPG(const PlayGround *pg) override;
       void setSizeOfPool(int sz);
+      int getSizeOfPool() const;
       std::size_t getNumberOfFreePlace() const;
       void allocateFor(const std::vector<const Task *>& nodes);
       void release(const Task *node);
@@ -55,6 +57,7 @@ namespace YACS
       //! For thread safety for concurrent load operation on same Container.
       void unLock();
       //
+      std::string getKind() const;
       std::string getDiscreminantStrOfThis(const Task *askingNode) const;
       bool isAlreadyStarted(const Task *askingNode) const;
       void start(const Task *askingNode) throw(Exception);
@@ -70,6 +73,8 @@ namespace YACS
       std::map<std::string,std::string> getProperties() const;
       std::map<std::string,std::string> getResourceProperties(const std::string& name) const;
       void checkCapabilityToDealWith(const ComponentInstance *inst) const throw(YACS::Exception);
+      std::vector<std::string> getKernelContainerNames() const;
+      int getNumberOfCoresPerWorker() const;
       //
 #ifndef SWIG
       std::size_t locateTask(const Task *askingNode) const { return _launchModeType.locateTask(askingNode); }
@@ -94,6 +99,7 @@ namespace YACS
       std::vector<std::string> _componentNames;
       //
       SalomeHPContainerVectOfHelper _launchModeType;
+      std::string _initScript;
     };
   }
 }