1 ///////////////////////////////////////////////////////////////////////////
3 // Author: Daniel Giritzer <daniel@giritzer.eu>
5 // Description: Interface für von Observer zu überwachende Objekte.
7 ///////////////////////////////////////////////////////////////////////////
8 #ifndef SUBJECT_H_INCLUDED
9 #define SUBJECT_H_INCLUDED
16 /////////////////////////////////////////////////
17 /// \brief Interface für ein von einem Observer
18 /// zu überwachendes Objekt.
19 /////////////////////////////////////////////////
20 class Subject : public Object
24 /////////////////////////////////////////////////
25 /// \brief Füge einen Observer hinzu.
26 /// \param o Pointer auf ein Observer Objekt.
27 /////////////////////////////////////////////////
28 virtual void subscribeObserver(Observer* o);
30 /////////////////////////////////////////////////
31 /// \brief Entferne ein Observer Objekt.
32 /// \param o Pointer auf zu entfernendes Observer
34 /////////////////////////////////////////////////
35 virtual void unsubscribeObserver(Observer* o);
37 /////////////////////////////////////////////////
38 /// \brief Benachrichtige alle Observer.
39 /////////////////////////////////////////////////
40 virtual void notifyObservers();
48 std::list<Observer*> mObservers;
51 #endif // SUBJECT_H_INCLUDED