Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ObservableInterface.cpp

Go to the documentation of this file.
00001 #include <algorithm>
00002 #include "ObservableInterface.h"
00003 #include "ListenerInterface.h"
00004 
00005 using namespace std;
00006 
00010 void 
00011 ObservableInterface::registerListener(ListenerInterface* listener) {
00012         m_listeners.push_back(listener);
00013 } // fn addListener
00014 
00015 
00020 void 
00021 ObservableInterface::removeListener(ListenerInterface* listener) {
00022     if (!m_listeners.empty()) {
00023         m_listeners.erase(find(m_listeners.begin(), m_listeners.end(), listener));
00024     }
00025 } // removeListener
00026 
00027 
00031 vector<ListenerInterface*>
00032 ObservableInterface::getListeners() {
00033     return m_listeners;
00034 } // fn getListeners
00035 
00036 
00037 void
00038 ObservableInterface::fireEvent(int eventType) {
00039     vector<ListenerInterface*>::iterator iter;
00040 
00041     for (iter = m_listeners.begin(); iter != m_listeners.end(); ++iter) {
00042         (*iter)->handleEvent(this, eventType, NULL);
00043     }
00044 } // fn fireEvent
00045 
00046 
00047 void
00048 ObservableInterface::fireEvent(int eventType, void* object) {
00049     vector<ListenerInterface*>::iterator iter;
00050 
00051     for (iter = m_listeners.begin(); iter != m_listeners.end(); ++iter) {
00052         (*iter)->handleEvent(this, eventType, object);
00053     }
00054 } // fn fireEvent
00055 

Generated at Thu Jul 11 13:31:51 2002 for Peekabooty by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001