00001 #ifndef SimG4Core_Notification_Observer_H 00002 #define SimG4Core_Notification_Observer_H 00003 // -*- C++ -*- 00004 // 00005 // Package: Notification 00006 // Class : Observer 00007 // 00019 // 00020 // $Id: Observer.h,v 1.8 2007/12/02 05:17:47 chrjones Exp $ 00021 // 00022 00023 00024 template<class T> 00025 class Observer 00026 { 00027 public: 00028 Observer() {} 00029 virtual ~Observer() {} 00030 00036 void slotForUpdate(T iT) { 00037 update(iT); 00038 } 00039 protected: 00041 virtual void update(T) = 0; 00042 private: 00043 }; 00044 00045 #endif