Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
pattern
Observable.h
Go to the documentation of this file.
1
/* -*- mode: c++ -*- */
2
14
#ifndef _Observable_H_
15
#define _Observable_H_
16
17
#include "
libhippo.h
"
18
19
#ifdef _MSC_VER
20
#include <msdevstudio/MSconfig.h>
21
#endif
22
23
#include <list>
24
25
namespace
hippodraw {
26
27
class
Observer;
28
39
class
MDL_HIPPOPLOT_API
Observable
40
{
41
public
:
42
45
typedef
std::list < Observer * >
ObserverList_t
;
46
47
private
:
48
51
ObserverList_t
m_list
;
52
53
//protected:
54
55
public
:
57
Observable
();
58
59
public
:
60
66
virtual
~
Observable
();
67
69
void
addObserver (
Observer
* );
70
72
const
ObserverList_t
& getObservers ()
const
;
73
75
void
removeObserver (
Observer
* );
76
83
virtual
void
notifyObservers ()
const
;
84
86
typedef
void (
Observer
::*Action ) (
const
Observable
* );
87
88
protected
:
89
92
void
notifyObservers ( Action action )
const
;
93
94
};
95
96
}
// namespace hippodraw
97
98
#endif // _Observable_H_
Generated for HippoDraw Class Library by