Exemple #1
0
	void Timer::notifyObservers(Status oldStatus, Status newStatus)
	{
		CHECK(oldStatus != newStatus, "Timer::notifyObservers() - inconsistency: no change happened");
		
		std::set<Observer*>::iterator it;
		for (it = m_observers.begin(); it != m_observers.end(); it++) {
			Observer* obs = *it;
			
			switch(newStatus) {
				case Playing:
					obs->didPlay(*this, oldStatus);
					break;
					
				case Paused:
					obs->didPause(*this, oldStatus);
					break;
					
				case Stopped:
					obs->didStop(*this, oldStatus);
					break;
				default:
					break;
			}
		}
	}