/** * Notify all the observers. */ void notify() { ObsVector::iterator it = observers.begin(); for (; it != observers.end(); ++it) { Observer *o = *it; o->notify(); } }
//--------------------------------------------------------------------------------------- void EventsDispatcher::dispatch_next_event() { pair<SpEventInfo, Observer*> event; { QueueLock lock(m_mutex); event = m_events.front(); m_events.pop(); } SpEventInfo pEvent = event.first; Observer* pObserver = event.second; pObserver->notify(pEvent); }