00001 /* -*- mode:c++ - */ 00002 00014 #ifndef _Observer_H_ 00015 #define _Observer_H_ 00016 00017 #include "libhippo.h" 00018 00019 00020 namespace hippodraw { 00021 00022 class Observable; 00023 00034 class MDL_HIPPOPLOT_API Observer 00035 { 00036 public: 00037 00041 Observer(); 00042 00048 virtual ~Observer (); 00049 00053 virtual void update ( const Observable * ) = 0; 00054 00062 virtual void willDelete ( const Observable * ); 00063 00064 }; 00065 00066 } // namespace hippodraw 00067 #endif // _Observer_H_