source: src/Patterns/Observer/Notification.cpp@ e2e035e

Last change on this file since e2e035e was e2e035e, checked in by Frederik Heber <heber@…>, 14 years ago

Refactored all Observer stuff into own subfolder and split up into distinct modules.

  • Observer/all.hpp is all that's needed.
  • Property mode set to 100644
File size: 934 bytes
Line 
1/*
2 * Project: MoleCuilder
3 * Description: creates and alters molecular systems
4 * Copyright (C) 2010 University of Bonn. All rights reserved.
5 * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
6 */
7
8/*
9 * Notification.cpp
10 *
11 * Created on: Dec 1, 2011
12 * Author: heber
13 */
14
15// include config.h
16#ifdef HAVE_CONFIG_H
17#include <config.h>
18#endif
19
20#include "MemDebug.hpp"
21
22#include "Notification.hpp"
23#include "Observer.hpp"
24
25
26Notification::Notification(size_t _channelno) :
27 channelno(_channelno)
28{}
29
30Notification::~Notification(){}
31
32void Notification::addObserver(Observer *target)
33{
34 targets.insert(target);
35}
36
37void Notification::removeObserver(Observer *target)
38{
39 targets.erase(target);
40}
41
42void Notification::notifyAll(Observable * const publisher)
43{
44 for(std::set<Observer*>::iterator it=targets.begin();
45 it!=targets.end();++it){
46 (*it)->recieveNotification(publisher,this);
47 }
48}
Note: See TracBrowser for help on using the repository browser.