Salome HOME
Generate an error when no resource can run a task with the workload manager.
[modules/yacs.git] / src / workloadmanager / WorkloadAlgorithm.hxx
index bad0dcf39118eb642447e25e2062b92537f25bf3..66804ee95a98d07606d970ca19b5f733f944f224 100644 (file)
 #ifndef WORKLOADALGORITHM_H
 #define WORKLOADALGORITHM_H
 
+#include "YACSlibWorkloadmanagerExport.hxx"
 #include "Task.hxx"
 
 namespace WorkloadManager
 {
-class WorkloadAlgorithm
+class YACSLIBWLM_EXPORT WorkloadAlgorithm
 {
 public:
   struct LaunchInfo
   {
     bool taskFound=false;
-    Container worker;
+    RunInfo worker;
     Task* task=nullptr;
   };
 
   virtual void addTask(Task* t)=0;
-  virtual void addResource(Resource* r)=0;
+  virtual void addResource(const Resource& r)=0;
   virtual LaunchInfo chooseTask()=0;
   virtual void liberate(const LaunchInfo& info)=0;
   virtual bool empty()const =0;
+  virtual void freezeResources()=0;
 };
 }
 #endif // WORKLOADALGORITHM_H