MNE-CPP  beta 1.0
observerpattern.cpp
Go to the documentation of this file.
1 //=============================================================================================================
36 //*************************************************************************************************************
37 //=============================================================================================================
38 // INCLUDES
39 //=============================================================================================================
40 
41 #include "observerpattern.h"
42 
43 
44 //*************************************************************************************************************
45 //=============================================================================================================
46 // DEFINE MEMBER METHODS
47 //=============================================================================================================
48 
50 {
51 
52 }
53 
54 
55 //*************************************************************************************************************
56 
57 void Subject::attach(IObserver* pObserver)
58 {
59  m_Observers.insert(pObserver);
60 }
61 
62 
63 //*************************************************************************************************************
64 
65 void Subject::detach(IObserver* pObserver)
66 {
67  m_Observers.erase(m_Observers.find(pObserver));
68  //m_Observers.erase(observer); //C++ <set> STL implementation
69 }
70 
71 
72 //*************************************************************************************************************
73 
75 {
76  if(notifyEnabled)
77  {
78  t_Observers::const_iterator it = m_Observers.begin();
79  for( ; it != m_Observers.end(); ++it)
80  (*it)->update(this);
81  }
82 }
83 
84 //*************************************************************************************************************
85 //=============================================================================================================
86 // STATIC DEFINITIONS
87 //=============================================================================================================
88 
89 bool Subject::notifyEnabled = true;
static bool notifyEnabled
The IObserver interface provides the base class of every observer of the observer design pattern...
Contains declarations of the observer design pattern: Subject class and IObserver interface...
void attach(IObserver *pObserver)
virtual ~Subject()
void detach(IObserver *pObserver)
void notify()