Salome HOME
Merge branch 'V8_0_BR'
[modules/yacs.git] / src / engine / Node.hxx
index c724fb605226b88b0a7d0867646fa87afd587600..0a85d294b4eaa0a49690e2c2d0e7b219462fed2b 100644 (file)
@@ -52,6 +52,12 @@ namespace YACS
     class OutputDataStreamPort;
     class Visitor;
 
+    struct ProgressWeight
+    {
+       int weightDone;
+       int weightTotal;
+    };
+
     class YACSLIBENGINE_EXPORT NodeStateNameMap : public std::map<YACS::StatesForNode, std::string>
     {
     public:
@@ -118,13 +124,14 @@ namespace YACS
       ComposedNode * getFather() const { return _father; }
       const std::string getId() const;
       bool exIsControlReady() const;
-      std::set<Node *> getOutNodes() const;
+      std::list<Node *> getOutNodes() const;
       virtual void writeDot(std::ostream &os) const;
       virtual void exUpdateState();
       virtual void exFailedState();
       virtual void exDisabledState();
       virtual void getReadyTasks(std::vector<Task *>& tasks) = 0;
       virtual std::list<ElementaryNode *> getRecursiveConstituents() const = 0;
+      virtual std::list<ProgressWeight> getProgressWeight() const = 0;
       virtual int getNumberOfInputPorts() const = 0;
       virtual int getNumberOfOutputPorts() const = 0;
       std::list<InPort *> getSetOfInPort() const;
@@ -167,6 +174,8 @@ namespace YACS
       virtual int getMaxLevelOfParallelism() const = 0;
       std::string getQualifiedName() const;
       int getNumId();
+      std::vector<std::pair<std::string,int> > getDPLScopeInfo(ComposedNode *gfn);
+      virtual void applyDPLScope(ComposedNode *gfn);
       virtual void sendEvent(const std::string& event);
       static std::map<int,Node *> idMap;
       virtual std::string typeName() { return "YACS__ENGINE__Node"; }