Salome HOME
[EDF12520] : Optimization of placements of Kernel containers in ForEachLoop/HP Contai...
[modules/yacs.git] / src / engine / HomogeneousPoolContainer.hxx
index fbc0c3fb4081b2c5161f4fc64a324e8852706d31..641a0d32014d641fe7d317c6bbd79e36e76b1aab 100644 (file)
@@ -23,6 +23,7 @@
 #include "YACSlibEngineExport.hxx"
 #include "Exception.hxx"
 #include "Container.hxx"
+#include "PlayGround.hxx"
 
 #include <vector>
 
@@ -30,6 +31,8 @@ namespace YACS
 {
   namespace ENGINE
   {
+    class ForTestOmlyHPContCls;
+    
     /*!
      * This is an abstract class, that represents a set of fixed number of worker "kernelcontainers" homegenous in the sense that can be used indifferently each other.
      * But each of those worker pool can be used once at a time.
@@ -47,6 +50,12 @@ namespace YACS
       virtual std::size_t getNumberOfFreePlace() const = 0;
       virtual void allocateFor(const std::vector<const Task *>& nodes) = 0;
       virtual void release(const Task *node) = 0;
+      virtual YACS::BASES::AutoRefCnt<HomogeneousPoolContainer> decorate(YACS::BASES::AutoConstRefCnt<PartDefinition> pd) = 0;
+      virtual HomogeneousPoolContainer *getDirectFather() = 0;
+      virtual const HomogeneousPoolContainer *getDirectFather() const = 0;
+      virtual int getNumberOfCoresPerWorker() const = 0;
+      virtual void prepareMaskForExecution() const = 0;
+      virtual void forYourTestsOnly(ForTestOmlyHPContCls *data) const = 0;
       static const char SIZE_OF_POOL_KEY[];
       static const char INITIALIZE_SCRIPT_KEY[];
     protected: