fw4spl
fwCom::SlotConnection< void(A...) > Struct Template Reference

Slot connection implementation. This class is for internal use purpose. More...

#include <SlotConnection.hpp>

+ Inheritance diagram for fwCom::SlotConnection< void(A...) >:
+ Collaboration diagram for fwCom::SlotConnection< void(A...) >:

Public Types

Typedefs
typedef void SignatureType(A...)
 
typedef SlotConnection< SignatureType > SelfType
 
typedef std::shared_ptr< SelfTypesptr
 
typedef Signal< SignatureType > SignalType
 
typedef std::shared_ptr< SignalTypeSignalSptrType
 
typedef std::weak_ptr< SignalTypeSignalWptrType
 
typedef SlotRun< SignatureType > SlotWrapperType
 
typedef std::shared_ptr< SlotWrapperTypeSlotWrapperSptrType
 
typedef SlotRun< SignatureType > SlotRunType
 
typedef std::shared_ptr< SlotRunTypeSlotRunSptrType
 
typedef std::pair< bool, SlotRunType * > PairType
 
- Public Types inherited from fwCom::SlotConnectionBase
typedef std::shared_ptr< SlotConnectionBasesptr
 
typedef std::shared_ptr< SlotConnectionBase const > csptr
 
typedef std::weak_ptr< SlotConnectionBasewptr
 
typedef std::weak_ptr< SlotConnectionBase const > cwptr
 
typedef std::shared_ptr< void > BlockerSptrType
 
typedef std::weak_ptr< void > BlockerWptrType
 

Public Member Functions

void disconnect ()
 Disconnect the related slot.
 
 SlotConnection (const SignalSptrType &signal, const SlotRunSptrType &slot)
 Build a new connection with the given signal and slot.
 
 SlotConnection (const SignalSptrType &signal, const std::shared_ptr< SlotBase > &slot, const SlotWrapperSptrType &slotWrapper)
 Build a new connection with the given signal, slot and wrapper.
 
- Public Member Functions inherited from fwCore::BaseObject
virtual bool isA (const std::string &type) const
 
virtual const std::string & getLeafClassname () const
 return object's classname without its namespace, i.e. BaseObject
 
virtual const std::string & getClassname () const
 return full object's classname with its namespace, i.e. fwCore::BaseObject
 

Static Public Member Functions

static sptr New (const SignalSptrType &signal, const SlotRunSptrType &slot)
 Build a new connection with the given signal and slot.
 
static sptr New (const SignalSptrType &signal, const std::shared_ptr< SlotBase > &slot, const SlotWrapperSptrType &slotWrapper)
 Build a new connection with the given signal, slot and wrapper.
 
- Static Public Member Functions inherited from fwCore::BaseObject
static bool isTypeOf (const std::string &type)
 
static const std::string & leafClassname ()
 return object's classname without its namespace, i.e. BaseObject
 
static const std::string & classname ()
 return object's classname without its namespace, i.e. BaseObject
 

Protected Member Functions

void connectNoLock ()
 Connect the related Signal and Slot together.
 
void disconnectSignalNoLock (const SignalSptrType &sig)
 NOT THREAD SAFE Disconnect the related signal.
 
void disconnectSlotNoLock (const std::shared_ptr< SlotBase > &slot)
 NOT THREAD SAFE Disconnect the related slot.
 
void disconnectWeakLock ()
 NOT THREAD SAFE Disconnect the related slot and signal.
 
SlotConnectionBase::BlockerSptrType getBlocker ()
 Returns a blocker on the connection. The connection is blocked until the returned shared pointer dies.
 
void unblock ()
 Unblock this connection.
 
- Protected Member Functions inherited from fwCom::SlotConnectionBase
 SlotConnectionBase (const SlotConnectionBase &)
 Copy constructor forbidden.
 
SlotConnectionBaseoperator= (const SlotConnectionBase &)
 Copy operator forbidden.
 

Protected Attributes

SignalWptrType m_signal
 Related Signal.
 
std::weak_ptr< SlotBasem_connectedSlot
 Related Slot.
 
SlotWrapperSptrType m_slotWrapper
 Slot wrapper.
 
PairType m_pair
 Associates state of this connection to related Slot. If m_pair.first is false, the connection is blocked.
 
SlotConnectionBase::BlockerWptrType m_weakBlocker
 Connection blocker.
 
mutable::fwCore::mt::ReadWriteMutex m_mutex
 

Friends

template<typename F >
struct Signal
 

Detailed Description

template<typename... A>
struct fwCom::SlotConnection< void(A...) >

Slot connection implementation. This class is for internal use purpose.

Definition at line 27 of file SlotConnection.hpp.


The documentation for this struct was generated from the following files: