1 #ifndef __ELEMENTARYNODE_HXX__
2 #define __ELEMENTARYNODE_HXX__
4 #include "TypeCode.hxx"
19 class InputDataStreamPort;
20 class OutputDataStreamPort;
22 class ElementaryNode : public Node, public Task
24 friend class ComposedNode;
26 ElementaryNode(const std::string& name);
29 void getReadyTasks(std::vector<Task *>& tasks);
30 void edRemovePort(Port *port) throw(Exception);
31 std::set<ElementaryNode *> getRecursiveConstituents();
32 virtual InputPort *edAddInputPort(const std::string& inputPortName, TypeCode* type) throw(Exception);
33 virtual OutputPort *edAddOutputPort(const std::string& outputPortName, TypeCode* type) throw(Exception);
34 virtual InputDataStreamPort *edAddInputDataStreamPort(const std::string& inputPortDSName, TypeCode* type) throw(Exception);
35 virtual OutputDataStreamPort *edAddOutputDataStreamPort(const std::string& outputPortDSName, TypeCode* type) throw(Exception);
36 virtual const std::string getInputPortName(const InputPort *) throw (Exception);
37 virtual const std::string getOutputPortName(const OutputPort *) throw (Exception);
43 void disconnectAllLinksConnectedTo(Node *node);