source: src/Observer/Notification.cpp@ b9273a

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

Huge update of file structure to place installation header files into right folder.

  • The problem ist that we desire use as include "CodePatterns/...". For this to work, especially with the new Observer subfolder structure, it has been necessary to place all header files away from their source files into a distinct folder called CodePatterns. This emulates the later, after make install present structure.
  • essentially all source and header files had to be changed to adapt the include.
  • all Makefile.am's had to be changed.
  • nobase_ ... was removed such that header files are installed flat and not creating their subfolder along the process.
  • We placed Observer into its own convenience library and own folder Observer away from Patterns.

Some other changes:

  • FIX: MemDebug.hpp inclusion has been removed in all stubs.
  • Property mode set to 100644
File size: 991 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 "CodePatterns/MemDebug.hpp"
21
22#include "CodePatterns/Observer/Notification.hpp"
23#include "CodePatterns/Observer/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.