libpsynth 0.2.1
Public Member Functions | Protected Member Functions
psynth::base::subject_base< Listener > Class Template Reference

This provides a basic interface for an observable entity and some helper functions. More...

#include <observer.hpp>

List of all members.

Public Member Functions

virtual ~subject_base ()
 Virtual destructor.
virtual void add_listener (Listener &l)=0
 Must connect all subject signals with pairing methods on the listener side.
virtual void del_listener (Listener &l)=0
 Must disconnect the listener from the signals in this subject.

Protected Member Functions

template<class Signal , class Slot >
void remove_slot (Signal &sig, const Slot &s)
 Helper function that will aid derived classes on the implementation of del_listener.

Detailed Description

template<class Listener>
class psynth::base::subject_base< Listener >

This provides a basic interface for an observable entity and some helper functions.

Parameters:
ListenerThe listener type that can listen on this subject.

Constructor & Destructor Documentation

template<class Listener>
virtual psynth::base::subject_base< Listener >::~subject_base ( ) [inline, virtual]

Virtual destructor.


Member Function Documentation

template<class Listener>
virtual void psynth::base::subject_base< Listener >::add_listener ( Listener &  l) [pure virtual]

Must connect all subject signals with pairing methods on the listener side.

Parameters:
lThe listener to connect.

Implemented in psynth::base::conf_subject.

template<class Listener>
virtual void psynth::base::subject_base< Listener >::del_listener ( Listener &  l) [pure virtual]

Must disconnect the listener from the signals in this subject.

Parameters:
lThe listener to disconnect.

Implemented in psynth::base::conf_subject.

template<class Listener >
template<class Signal , class Slot >
void psynth::base::subject_base< Listener >::remove_slot ( Signal &  sig,
const Slot &  s 
) [protected]

Helper function that will aid derived classes on the implementation of del_listener.

It disconnect a specific slot from a signal.

Parameters:
sigThe signal.
sThe slot.
Todo:

Is this function useless under boost::signals ??

This also relies on equality of objects generated by boost::bind, make sure that our asumptions are right.


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