CLAM-Development  1.4.0
Classes | Public Types | Public Member Functions | Protected Member Functions
SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 > Class Template Reference

#include <Signalv4ImplSerious.hxx>

List of all members.

Classes

struct  tCallback

Public Types

typedef CBL::Functor4
< ParmType1, ParmType2,
ParmType3, ParmType4 > 
tCallbackType
typedef CBL::Functor4
< ParmType1, ParmType2,
ParmType3, ParmType4 > 
tCallbackType
typedef tCallbackTypetCallbackPtr
typedef std::list< tCallbackPtrtCallList
typedef std::list
< tCallbackPtr >::iterator 
tCallIterator
typedef std::list< tCallbacktCallbackList
typedef std::list< tCallback >
::iterator 
tCbListIterator
typedef std::list< tCallback >
::const_iterator 
const_tCbListIterator
- Public Types inherited from SigSlot::Signal
typedef std::stack< unsignedtConnectionIdStack
typedef unsigned tConnectionId

Public Member Functions

virtual ~Signalv4 ()
void Connect (Slotv4< ParmType1, ParmType2, ParmType3, ParmType4 > &slot)
void Emit (ParmType1 parm1, ParmType2 parm2, ParmType3 parm3, ParmType4 parm4)
void FreeConnection (Connection *pConnection)
 Removes a connection.
virtual ~Signalv4 ()
void Connect (Slotv4< ParmType1, ParmType2, ParmType3, ParmType4 > &slot)
void Emit (ParmType1 parm1, ParmType2 parm2, ParmType3 parm3, ParmType4 parm4)
void FreeConnection (Connection *pConnection)
 Removes a connection.
- Public Member Functions inherited from SigSlot::Signal
virtual ~Signal ()
 Destructor.

Protected Member Functions

void AddCallback (tConnectionId pConnection, Slot *slot, tCallbackType cb)
bool HasNoCallbacks () const
tCallListGetCalls ()
void RemoveCall (tConnectionId id)
void DestroyConnections ()
- Protected Member Functions inherited from SigSlot::Signal
void FreeConnectionId (tConnectionId)
tConnectionId AssignConnection ()

Additional Inherited Members

- Static Protected Attributes inherited from SigSlot::Signal
static tConnectionId smLastConnectionId = 0

Detailed Description

template<typename ParmType1, typename ParmType2, typename ParmType3, typename ParmType4>
class SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >

Definition at line 35 of file Signalv4ImplSerious.hxx.


Member Typedef Documentation

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef std::list<tCallback>::const_iterator SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::const_tCbListIterator

Definition at line 61 of file Signalv4ImplVC6.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef std::list<tCallback> SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCallbackList

Definition at line 59 of file Signalv4ImplVC6.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef tCallbackType* SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCallbackPtr

Definition at line 56 of file Signalv4ImplVC6.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef CBL::Functor4<ParmType1,ParmType2, ParmType3,ParmType4> SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCallbackType

Definition at line 38 of file Signalv4ImplSerious.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef CBL::Functor4<ParmType1,ParmType2,ParmType3,ParmType4> SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCallbackType

Definition at line 40 of file Signalv4ImplVC6.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef std::list<tCallbackPtr >::iterator SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCallIterator

Definition at line 58 of file Signalv4ImplVC6.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef std::list<tCallbackPtr> SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCallList

Definition at line 57 of file Signalv4ImplVC6.hxx.

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
typedef std::list<tCallback>::iterator SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::tCbListIterator

Definition at line 60 of file Signalv4ImplVC6.hxx.


Constructor & Destructor Documentation

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
virtual SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::~Signalv4 ( )
inlinevirtual
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
virtual SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::~Signalv4 ( )
inlinevirtual

Member Function Documentation

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::AddCallback ( tConnectionId  pConnection,
Slot slot,
tCallbackType  cb 
)
inlineprotected
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::Connect ( Slotv4< ParmType1, ParmType2, ParmType3, ParmType4 > &  slot)
inline
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::Connect ( Slotv4< ParmType1, ParmType2, ParmType3, ParmType4 > &  slot)
inline
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::DestroyConnections ( )
inlineprotected
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::Emit ( ParmType1  parm1,
ParmType2  parm2,
ParmType3  parm3,
ParmType4  parm4 
)
inline
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::Emit ( ParmType1  parm1,
ParmType2  parm2,
ParmType3  parm3,
ParmType4  parm4 
)
inline
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::FreeConnection ( Connection conn)
inlinevirtual

Removes a connection.

Removes the given connections, so the Signal does not notify anymore the Slot behind that Connection.

Parameters:
connThe connection to be freed

Implements SigSlot::Signal.

Definition at line 73 of file Signalv4ImplSerious.hxx.

References SigSlot::Signal::FreeConnectionId(), SigSlot::Connection::GetID(), and SigSlot::ConnectionHandler< SignalType >::RemoveCall().

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::FreeConnection ( Connection conn)
inlinevirtual

Removes a connection.

Removes the given connections, so the Signal does not notify anymore the Slot behind that Connection.

Parameters:
connThe connection to be freed

Implements SigSlot::Signal.

Definition at line 155 of file Signalv4ImplVC6.hxx.

References SigSlot::Signal::FreeConnectionId(), SigSlot::Connection::GetID(), and SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::RemoveCall().

template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
tCallList& SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::GetCalls ( )
inlineprotected
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
bool SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::HasNoCallbacks ( ) const
inlineprotected
template<typename ParmType1 , typename ParmType2 , typename ParmType3 , typename ParmType4 >
void SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >::RemoveCall ( tConnectionId  id)
inlineprotected

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