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;
47 InPort(const InPort& other, Node *newHelder);
48 InPort(const std::string& name, Node *node, TypeCode* type);
49 void edRemoveAllLinksLinkedWithMe() throw(Exception);
50 virtual void edNotifyReferencedBy(OutPort *fromPort);
51 virtual void edNotifyDereferencedBy(OutPort *fromPort);
52 virtual void getAllRepresentants(std::set<InPort *>& repr) const;
54 std::set<OutPort *> _backLinks;