presage
0.9.1
src
lib
core
observable.h
Go to the documentation of this file.
1
2
/******************************************************
3
* Presage, an extensible predictive text entry system
4
* ---------------------------------------------------
5
*
6
* Copyright (C) 2008 Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
7
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2 of the License, or
11
(at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License along
19
with this program; if not, write to the Free Software Foundation, Inc.,
20
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
*
22
**********(*)*/
23
24
25
#ifndef PRESAGE_OBSERVABLE
26
#define PRESAGE_OBSERVABLE
27
28
#if HAVE_CONFIG_H
29
# include "config.h"
30
#endif
31
32
#include "
observer.h
"
33
34
#include <list>
35
#include <string>
36
37
class
Observable
{
38
public
:
39
virtual
~Observable
();
40
41
virtual
void
attach
(
Observer
* observer);
42
virtual
void
detach
(
Observer
* observer);
43
virtual
void
notify
();
44
45
virtual
std::string
get_name
()
const
= 0;
46
virtual
std::string
get_value
()
const
= 0;
47
48
protected
:
49
Observable
();
50
51
private
:
52
std::list <Observer*>
observers
;
53
54
};
55
56
#endif // PRESAGE_OBSERVABLE
Observer
Definition:
observer.h:34
Observable::detach
virtual void detach(Observer *observer)
Definition:
observable.cpp:39
Observable::observers
std::list< Observer * > observers
Definition:
observable.h:52
Observable::get_name
virtual std::string get_name() const =0
Observable::~Observable
virtual ~Observable()
Definition:
observable.cpp:29
Observable::get_value
virtual std::string get_value() const =0
Observable::attach
virtual void attach(Observer *observer)
Definition:
observable.cpp:34
observer.h
Observable
Definition:
observable.h:37
Observable::notify
virtual void notify()
Definition:
observable.cpp:44
Observable::Observable
Observable()
Definition:
observable.cpp:54
Generated on Thu Dec 17 2020 16:34:30 for presage by
1.8.20