1 #ifndef __WHILELOOP_HXX__
2 #define __WHILELOOP_HXX__
5 #include "ConditionInputPort.hxx"
11 /*! \brief Class for a while loop
15 * This node makes steps while the condition is true
18 class WhileLoop : public Loop
21 static const char NAME_OF_INPUT_CONDITION[];
22 ConditionInputPort _conditionPort;
24 WhileLoop(const WhileLoop& other, ComposedNode *father, bool editionOnly);
25 WhileLoop(const std::string& name);
27 void init(bool start=true);
28 InputPort *edGetConditionPort() { return &_conditionPort; }
29 int getNumberOfInputPorts() const;
30 std::list<InputPort *> getSetOfInputPort() const;
31 InputPort* getInputPort(const std::string& name) const throw(Exception);
32 std::list<InputPort *> getLocalInputPorts() const;
33 virtual void accept(Visitor *visitor);
35 Node *simpleClone(ComposedNode *father, bool editionOnly=true) const;
36 void checkLinkPossibility(OutPort *start, const std::set<ComposedNode *>& pointsOfViewStart,
37 InPort *end, const std::set<ComposedNode *>& pointsOfViewEnd) throw(Exception);
38 YACS::Event updateStateOnFinishedEventFrom(Node *node);