00001 /* -*- mode:c++ - */ 00002 00014 #ifndef _Observer_H_ 00015 #define _Observer_H_ 00016 00017 #include "libhippo.h" 00018 00019 class Observable; 00020 00021 namespace hippodraw 00022 { 00033 class MDL_HIPPOPLOT_API Observer 00034 { 00035 protected: 00036 00038 Observer(); 00039 00040 public: 00041 00043 virtual ~ Observer (); 00044 00048 virtual void update ( const Observable * ) = 0; 00049 00057 virtual void willDelete ( const Observable * ); 00058 00059 }; 00060 } // namespace hippodraw 00061 #endif // _Observer_H_