cgma
|
00001 00002 #ifndef CubitEventDispatcher_hpp 00003 #define CubitEventDispatcher_hpp 00004 00005 class CubitObserver; 00006 class CubitEvent; 00007 class CubitObservable; 00008 #include <vector> 00009 #include "CGMUtilConfigure.h" 00010 00013 class CUBIT_UTIL_EXPORT CubitEventDispatcher 00014 { 00015 public: 00016 CubitEventDispatcher(); 00017 virtual ~CubitEventDispatcher(); 00018 00024 void send_event(CubitObservable* observable, const CubitEvent& event); 00025 00027 void add_observer(CubitObserver* obs); 00029 void remove_observer(CubitObserver* obs); 00030 00031 protected: 00032 00033 std::vector<CubitObserver*> mObservers; 00034 00035 }; 00036 00037 #endif