Observable.h

00001 
00009 #ifndef _Observable_h
00010 #define _Observable_h
00011 
00012 // SYSTEM INCLUDES
00013 //
00014 
00015 // PROJECT INCLUDES
00016 //
00017 
00018 // LOCAL INCLUDES
00019 //
00020 #include "Observer.h"
00021 
00022 // FORWARD REFERENCES
00023 //
00024 
00025 class Observable
00026 {
00027 public:
00028 // LIFECYCLE
00029 
00032     Observable(void);
00033 
00034 
00040     virtual ~Observable(void);
00041 
00042 
00043 // OPERATORS
00044 
00045 // OPERATIONS
00046 
00055     virtual void            AttachObserver(Observer* pObserver) const;
00056 
00066     virtual void            DetachObserver(Observer* pObserver) const;
00067 
00068 
00069 // ACCESS
00070 // INQUIRY
00071 
00072 protected:
00078     void                    NotifyObservers() const;
00079 
00080 private:
00081     mutable std::vector<Observer*> mObservers;
00082 };
00083 
00084 // INLINE METHODS
00085 //
00086 
00087 // EXTERNAL REFERENCES
00088 //
00089 
00090 #endif  // _Observable_h

Wygenerowano Fri Sep 29 21:04:48 2006 dla EduOptim2 programem  doxygen 1.4.6