]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkBlackBoxInputConnector.h
=== MAJOR RELEASE ====
[bbtk.git] / kernel / src / bbtkBlackBoxInputConnector.h
index 6575a8aa3282be442aa175bf0af2a5c98a5eaaa2..788fb4a12cd64d8240a42f2a81ebbcf2f3b3c670 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBoxInputConnector.h,v $
   Language:  C++
-  Date:      $Date: 2008/01/22 15:02:00 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/04/18 12:59:15 $
+  Version:   $Revision: 1.2 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 namespace bbtk
 {
 
+  class BlackBox;
+  BBTK_FORWARD_DECLARE_POINTER(BlackBox);
 
   class BBTK_EXPORT BlackBoxInputConnector 
   {
   public:
      
     /// Ctor
-    BlackBoxInputConnector(BlackBox* b);
+    BlackBoxInputConnector(BlackBoxPointer b);
     /// Dtor
     ~BlackBoxInputConnector();    
     /// Sets a connection
-    void SetConnection(Connection* c);
+    void SetConnection(Connection::Pointer c);
     /// Unsets the connection 
     /// The parameter is USELESS today but would be useful if we allow multiple connections on inputs
-    void UnsetConnection(Connection* c);
+    void UnsetConnection(Connection::Pointer c);
   
     IOStatus BackwardUpdate();
 
     /// Returns the connection plugged into this input (const)
-    const Connection* GetConnection() const { return mConnection; }
-    /// Returns the connection plugged into this input
-    Connection* GetConnection() { return mConnection; }
+    Connection::Pointer GetConnection() const { return mConnection.lock(); }
     /// Returns true iff a connection is connected to it
-    bool IsConnected() const { return (mConnection != 0); }
+    bool IsConnected() const { return (mConnection.lock() != 0); }
     /// Returns the status of the input (UPTODATE | MODIFIED)
     const IOStatus& GetStatus() const { return mStatus; }
     ///
-    BlackBox* GetBlackBox() const { return mBox; } 
+    BlackBoxPointer GetBlackBox() const { return mBox.lock(); } 
   private:
     /// 
-    BlackBox* mBox;
+    BlackBoxWeakPointer mBox;
     /// The connection plugged into the input
-    Connection* mConnection;
+    Connection::WeakPointer mConnection;
     /// The status of the input (UPTODATE | MODIFIED)
     IOStatus mStatus;
   };