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;
};