You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
371 B

#ifndef SUBJECT_HPP
#define SUBJECT_HPP
#include <list>
class Observer;
class Subject
{
public:
virtual ~Subject();
/// @todo listen only to aspect?
virtual void attach( Observer* );
virtual void detach( Observer* );
virtual void notify();
private:
/// @todo list can be a priority queue
std::list< Observer* > m_observers;
};
#endif // SUBJECT_HPP