4 #include "DataPort.hxx"
22 class CollectorSwOutPort;
23 class OutputDataStreamPort;
24 class InterceptorInputPort;
26 class InPort : public virtual DataPort
30 friend class ProxyPort;
31 friend class OutputPort;
32 friend class DynParaLoop;
33 friend class ForEachLoop;
34 friend class SplitterNode;
35 friend class ComposedNode;
36 friend class OptimizerLoop;
37 friend class ElementaryNode; //for removeAllLinksWithMe
38 friend class CollectorSwOutPort;
39 friend class OutputDataStreamPort;
40 friend class InterceptorInputPort;
42 virtual InPort *getPublicRepresentant() { return this; }
43 virtual int edGetNumberOfLinks() const;
44 virtual std::set<OutPort *> edSetOutPort() const;
46 virtual std::string typeName() {return "YACS__ENGINE__InPort";}
48 InPort(const InPort& other, Node *newHelder);
49 InPort(const std::string& name, Node *node, TypeCode* type);
50 void edRemoveAllLinksLinkedWithMe() throw(Exception);
51 virtual void edNotifyReferencedBy(OutPort *fromPort);
52 virtual void edNotifyDereferencedBy(OutPort *fromPort);
53 virtual void getAllRepresentants(std::set<InPort *>& repr) const;
55 std::set<OutPort *> _backLinks;