X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/56f7c4239666506c59af42885f0bf0141d21a614..HEAD:/ConnectedInterface.h?ds=inline diff --git a/ConnectedInterface.h b/ConnectedInterface.h index 64afb9e..e3dbfd3 100644 --- a/ConnectedInterface.h +++ b/ConnectedInterface.h @@ -8,6 +8,8 @@ #include "AbstractInterface.h" class ReferenceInterface; +#include "AbstractInputModifier.h" + #include "Exception.h" @@ -28,24 +30,29 @@ public : // getters inline QList getConnectedTo() { return connectedTo;} - inline ConnectedInterface* getConnectedFrom() { return connectedFrom;} - inline QList* getOutputPattern() { return outputPattern; } + inline ConnectedInterface* getConnectedFrom() { return connectedFrom;} + inline QList* getOutputPattern() { return outputPattern; } + inline AbstractInputModifier* getInputModifier() { return inputModifier; } - // setters + // setters void setOutputPattern(QList* pattern); + inline void setInputModifier(AbstractInputModifier* mod) { inputModifier = mod; } // testers inline bool isConnectedTo(){return connectedTo.length() != 0;} + inline bool isConnectedToMany(){return connectedTo.length()>=2;} inline bool isConnectedFrom(){return connectedFrom != NULL;} - virtual bool canConnectTo(AbstractInterface* iface) = 0; - virtual bool canConnectFrom(AbstractInterface* iface) = 0; + virtual bool canConnectTo(AbstractInterface* iface, bool testClock) = 0; + virtual bool canConnectFrom(AbstractInterface* iface, bool testClock) = 0; // others + void resetOutputPattern() { outputPattern = NULL; } void connectTo(ConnectedInterface* iface); void disconnectTo(ConnectedInterface* iface); //bool connectFrom(ConnectedInterface* iface); ConnectedInterface* getConnectionToParentGroup(); ConnectedInterface* getConnectionFromParentGroup(); + void clearInputModifier(); virtual AbstractInterface *clone() = 0; //void removeConnectedTo(ConnectedInterface *inter); @@ -70,8 +77,9 @@ protected: * this interface. connecteFrom references such an interface if it exists. */ ConnectedInterface* connectedFrom; - - // patterns + AbstractInputModifier* inputModifier; // if needed, represent a block taht does not appear on screen but taht will modify the stream. + + // patterns QList* outputPattern; //! only usefull for output interfaces };