Observer.h

00001 #ifndef _Observer_h
00002 #define _Observer_h
00003 
00004 // SYSTEM INCLUDES
00005 //
00006 
00007 // PROJECT INCLUDES
00008 //
00009 
00010 // LOCAL INCLUDES
00011 //
00012 
00013 // FORWARD REFERENCES
00014 //
00015 class Observable;
00016 
00028 class Observer
00029 {
00030 public:
00031 // LIFECYCLE
00032 
00035     Observer(void);
00036 
00037 
00040     virtual ~Observer(void);
00041 
00042 
00043 // OPERATORS
00044 
00045 // OPERATIONS
00046 
00051     virtual void        Update() = 0;
00052 
00053 //    // TODO: to nie jest dobre miejsce na takie rzeczy...
00054 //    virtual bool        IsAborted();
00055 
00056 // ACCESS
00057 // INQUIRY
00058 
00059 protected:
00060     std::set<const Observable*> mObservables;
00061 
00062 private:
00063 
00064     friend class Observable;
00065     // Te funkcje są dostępne obserwowanemu:
00066     void                AddObservable(const Observable* pObservable);
00067     void                RemoveObservable(const Observable* pObservable);
00068 
00069 };
00070 
00071 // INLINE METHODS
00072 //
00073 
00074 // EXTERNAL REFERENCES
00075 //
00076 
00077 #endif  // _Observer_h

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