X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fengine%2FOutPort.hxx;h=0dec8538ea48ee752269e70bf7ba89d633e01f0d;hb=313a04631c63078d01c2f643a53500ec549d034e;hp=500c101c391f2a2afe5aaa374a550ba82f68bd39;hpb=ff62f5bf18722d2f93b2f924411bda0e9550d590;p=modules%2Fyacs.git diff --git a/src/engine/OutPort.hxx b/src/engine/OutPort.hxx index 500c101c3..0dec8538e 100644 --- a/src/engine/OutPort.hxx +++ b/src/engine/OutPort.hxx @@ -1,21 +1,34 @@ #ifndef __OUTPORT_HXX__ #define __OUTPORT_HXX__ -#include "Port.hxx" +#include "DataPort.hxx" #include "Exception.hxx" +#include +#include + namespace YACS { namespace ENGINE { class InPort; - class OutPort : public virtual Port + class LinkInfo; + class OutPort : public virtual DataPort { protected: - OutPort(Node *node); + OutPort(const OutPort& other, Node *newHelder); + OutPort(const std::string& name, Node *node, TypeCode* type); public: + virtual void checkConsistency(LinkInfo& info) const; + virtual int edGetNumberOfOutLinks() const; + virtual std::set edSetInPort() const = 0; + virtual bool isAlreadyLinkedWith(InPort *with) const = 0; + virtual void getAllRepresented(std::set& represented) const; virtual bool addInPort(InPort *inPort) throw(Exception) = 0; - virtual void removeInPort(InPort *inPort) throw(Exception) = 0; + virtual int removeInPort(InPort *inPort, bool forward) throw(Exception) = 0; + virtual ~OutPort(); + std::vector calculateHistoryOfLinkWith(InPort *end); + virtual std::string typeName() {return "YACS__ENGINE__OutPort";} }; } }