X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fengine%2FComposedNode.hxx;h=013950a7ff1a7d558c5ed69dd39cac381c5efb96;hb=0b88876b0a0ee5eae29cab3882cb1eda6da4dad0;hp=fcd0e13f16dd5026b51f376e03e61ab2f59c9a02;hpb=5e3d4c34b008ce0726db84073c523ef58441a3c5;p=modules%2Fyacs.git diff --git a/src/engine/ComposedNode.hxx b/src/engine/ComposedNode.hxx index fcd0e13f1..013950a7f 100644 --- a/src/engine/ComposedNode.hxx +++ b/src/engine/ComposedNode.hxx @@ -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 @@ -64,7 +64,7 @@ namespace YACS DeploymentTree checkDeploymentTree(bool deep) const throw(Exception); std::vector getNextTasks(bool& isMore); virtual bool isPlacementPredictableB4Run() const = 0; - void notifyFrom(const Task *sender, YACS::Event event); + void notifyFrom(const Task *sender, YACS::Event event, const Executor *execInst); bool edAddLink(OutPort *start, InPort *end) throw(Exception); virtual bool edAddDFLink(OutPort *start, InPort *end) throw(Exception); //Node* DISOWNnode is a SWIG notation to indicate that the ownership of the node is transfered to C++ @@ -77,9 +77,11 @@ namespace YACS void edRemoveLink(OutGate *start, InGate *end) throw(Exception); virtual bool isRepeatedUnpredictablySeveralTimes() const { return false; } virtual std::list edGetDirectDescendants() const = 0; + virtual void removeRecursivelyRedundantCL(); std::list getRecursiveConstituents() const; std::list getAllRecursiveNodes(); virtual std::list getAllRecursiveConstituents(); // first implementation + std::list getProgressWeight() const; std::string getInPortName(const InPort *) const throw (Exception); std::string getOutPortName(const OutPort *) const throw (Exception); // @@ -115,11 +117,12 @@ namespace YACS virtual std::string getMyQualifiedName(const Node *directSon) const; Node *getChildByName(const std::string& name) const throw(Exception); static ComposedNode *getLowestCommonAncestor(Node *node1, Node *node2) throw(Exception); + static std::string getLowestCommonAncestorStr(const std::string& node1, const std::string& node2); void loaded(); void connected(); void accept(Visitor *visitor); virtual void cleanNodes(); - virtual std::string getProgress() const {return "0";}; + virtual std::string getProgress() const { return "0"; } protected: struct SortHierarc { @@ -133,10 +136,10 @@ namespace YACS static bool splitNamesBySep(const std::string& globalName, const char separator[], std::string& firstPart, std::string& lastPart, bool priority) throw(Exception); virtual Node *getChildByShortName(const std::string& name) const throw(Exception) = 0; - YACS::Event updateStateFrom(Node *node, YACS::Event event);//update the state of this. Precondition : node->_father == this + YACS::Event updateStateFrom(Node *node, YACS::Event event, const Executor *execInst);//update the state of this. Precondition : node->_father == this virtual YACS::Event updateStateOnStartEventFrom(Node *node);//transition 3 doc P.R virtual YACS::Event updateStateOnFinishedEventFrom(Node *node) = 0;//transition 9 doc P.R. - virtual YACS::Event updateStateOnFailedEventFrom(Node *node);//transition 9 doc P.R. + virtual YACS::Event updateStateOnFailedEventFrom(Node *node, const Executor *execInst);//transition 9 doc P.R. virtual void checkLinkPossibility(OutPort *start, const std::list& pointsOfViewStart, InPort *end, const std::list& pointsOfViewEnd) throw(Exception); virtual void buildDelegateOf(InPort * & port, OutPort *initialStart, const std::list& pointsOfView);