csl::Model Class Reference

#include <CSL_Types.h>

Inheritance diagram for csl::Model:

csl::SpeakerLayout csl::UnitGenerator csl::UnitGenerator csl::StereoSpeakerLayout List of all members.

Detailed Description

Forward declaration.

The Model/Observable/Subject class; instances of its subclasses should send themselves this->changed(some_data) on "relevant" state changes; the code they inherit manages updating the list of observer or client objects.


Public Member Functions

 Model ()
 ~Model ()
 empty constructor
void attachObserver (Observer *)
 (possibly notify obersvers on my death) register/remove observers
void detachObserver (Observer *)
void changed (void *argument)

Private Attributes

vector< Observer * > mObservers
 the private vector of observers
bool mHasObservers
 whether there are any observers (for fast checking)


Constructor & Destructor Documentation

csl::Model::Model  )  [inline]
 

csl::Model::~Model  )  [inline]
 

empty constructor


Member Function Documentation

void Model::attachObserver Observer  ) 
 

(possibly notify obersvers on my death) register/remove observers

void Model::detachObserver Observer  ) 
 

void Model::changed void *  argument  ) 
 

this is what I send to myself to notify my observers; it's not overridden in general.


Member Data Documentation

vector<Observer *> csl::Model::mObservers [private]
 

the private vector of observers

bool csl::Model::mHasObservers [private]
 

whether there are any observers (for fast checking)


The documentation for this class was generated from the following files:
Generated on Fri Apr 6 20:18:18 2007 for CSL by  doxygen 1.4.5-20051010