SigSlot::Signal Class Reference

#include <Signal.hxx>

Inheritance diagram for SigSlot::Signal:

SigSlot::Signalv0 SigSlot::Signalv0 SigSlot::Signalv1< ParmType1 > SigSlot::Signalv1< ParmType1 > SigSlot::Signalv2< ParmType1, ParmType2 > SigSlot::Signalv2< ParmType1, ParmType2 > SigSlot::Signalv3< ParmType1, ParmType2, ParmType3 > SigSlot::Signalv3< ParmType1, ParmType2, ParmType3 > SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 > SigSlot::Signalv4< ParmType1, ParmType2, ParmType3, ParmType4 >

List of all members.


Detailed Description

Abstract 'Event Dispatcher'.

Sometimes, is very useful that when an object is subject of a certain message, or state change, must notify this change to a number of listeners. This situation, albeit it can be modeled quite neatly in OOP suffers a major drawback: coupling. Coupling tipically risks the possibility of reusing a certain object due to the fact that the caller must know to some extent the callee interface.

However there exist some solutions to this known problem. One of them is the 'Signal and Slot' idiom, which features an extremely low coupling between callers and callees. For more details, take a look on the CLAM Signal & Slot Library.

This class is an abstract one, already implementing common behaviour, the signal and slot connection handling issues.

Definition at line 50 of file Signal.hxx.


Public Types

typedef std::stack< unsignedtConnectionIdStack
typedef unsigned tConnectionId

Public Member Functions

virtual ~Signal ()
 Destructor.
virtual void FreeConnection (Connection *conn)=0
 Removes a connection.

Protected Member Functions

void FreeConnectionId (tConnectionId)
tConnectionId AssignConnection ()

Static Protected Attributes

static tConnectionId smLastConnectionId = 0

Member Typedef Documentation

Definition at line 53 of file Signal.hxx.

Definition at line 54 of file Signal.hxx.


Constructor & Destructor Documentation

SigSlot::Signal::~Signal (  )  [virtual]

Destructor.

Class destructor

Definition at line 29 of file Signal.cxx.


Member Function Documentation

virtual void SigSlot::Signal::FreeConnection ( Connection conn  )  [pure virtual]

void SigSlot::Signal::FreeConnectionId ( Signal::tConnectionId  freedConnectionId  )  [protected]

Signal::tConnectionId SigSlot::Signal::AssignConnection (  )  [protected]


Member Data Documentation

Definition at line 76 of file Signal.hxx.

Referenced by AssignConnection().


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

Generated on Tue Aug 12 22:33:51 2008 for CLAM by  doxygen 1.5.5