#pragma once


class Subject;

class Observer
{
  public:
    virtual ~Observer();

    //--------------------------------------------------------------------------
    // Description : Called by a subject that this observer is observing
    //               to signify a change in state
    // Parameters  : subject - the subject that changed
    //--------------------------------------------------------------------------
    virtual void update(Subject &subject) = 0;
};