]> AND Private Git Repository - blast.git/blobdiff - ConnectedInterface.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modifying pattern methods to throw exceptions
[blast.git] / ConnectedInterface.h
index 3a1fb4f698b25bbf8141b0e4869c0c4de2f7090c..7866a8fa957370169b8471e0a9cdf704f6e560a1 100644 (file)
@@ -24,11 +24,15 @@ public :
 
   ConnectedInterface(AbstractBlock* _owner);
   ConnectedInterface(AbstractBlock* _owner, const QString& _name, const QString& _type, const QString& _width, int _direction, int _purpose);
+  ~ConnectedInterface();
+  
   // getters
   inline QList<ConnectedInterface*> getConnectedTo() { return connectedTo;}
   inline ConnectedInterface* getConnectedFrom() { return connectedFrom;}
+  inline QList<char>* getOutputPattern() { return outputPattern; }  
 
   // setters
+  void setOutputPattern(QList<char>* pattern);
 
   // testers
   inline bool isConnectedTo(){return connectedTo.length() != 0;}
@@ -37,13 +41,14 @@ public :
   virtual bool canConnectFrom(AbstractInterface* iface) = 0;
 
   // others  
-  bool connectTo(ConnectedInterface* iface);
-  bool connectFrom(ConnectedInterface* iface);
+  void connectTo(ConnectedInterface* iface);
+  void disconnectTo(ConnectedInterface* iface);
+  //bool connectFrom(ConnectedInterface* iface);
   ConnectedInterface* getConnectionToParentGroup();
   ConnectedInterface* getConnectionFromParentGroup();
 
   virtual AbstractInterface *clone() = 0;  
-  void removeConnectedTo(ConnectedInterface *inter);
+  //void removeConnectedTo(ConnectedInterface *inter);
 
   virtual void clearConnectedTo();
   inline void clearConnectedFrom() { connectedFrom = NULL; }
@@ -64,16 +69,10 @@ protected:
    * there may be a single interface owned by another block (functional or group) that is connected to
    * this interface. connecteFrom references such an interface if it exists.
    */
-  ConnectedInterface* connectedFrom;
-  /*!
-   * \brief associatedIface the control (resp. data) interface that is bounded to this data (resp. control) interface
-   * If a reference block is designed to be fully integrated in Blast, nearly every data interface is bounded
-   * to a control interface that signals if the value presented on the interface is valid or not. associatedIface
-   * references this control interface if this is a data interface, and a data interface is this is a control interface.
-   * Note that the association is done by the call of setAssociatedIface() that must be done only for a control interface.
-   * (NB: a test is done in the method to prevent the other case).
-   */
-  ConnectedInterface* associatedIface;
+  ConnectedInterface* connectedFrom;  
+  
+  // patterns  
+  QList<char>* outputPattern; //! only usefull for output interfaces
 };