presage  0.9.2~beta
observable.cpp
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 #include "observable.h"
26 
27 #include <iostream>
28 
30 {
31  // complete
32 }
33 
34 void Observable::attach (Observer* observer)
35 {
36  observers.push_back (observer);
37 }
38 
39 void Observable::detach (Observer* observer)
40 {
41  observers.remove (observer);
42 }
43 
45 {
46  for (std::list <Observer*>::iterator it = observers.begin ();
47  it != observers.end ();
48  it++) {
49  //std::cerr << "notify() observable: " << *it << std::endl;
50  (*it)->update (this);
51  }
52 }
53 
55 {
56  // complete
57 }
58 
59 
virtual void attach(Observer *observer)
Definition: observable.cpp:34
virtual void notify()
Definition: observable.cpp:44
virtual void detach(Observer *observer)
Definition: observable.cpp:39
std::list< Observer * > observers
Definition: observable.h:52
virtual ~Observable()
Definition: observable.cpp:29