00001 #ifndef VIS_FRAMEWORK_BASE_VIS_EVENT_OBSERVER_H 00002 # define VIS_FRAMEWORK_BASE_VIS_EVENT_OBSERVER_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 #include "sigc++/signal.h" 00007 #include "sigc++/connection.h" 00008 00009 //<<<<<< PUBLIC DEFINES >>>>>> 00010 //<<<<<< PUBLIC CONSTANTS >>>>>> 00011 //<<<<<< PUBLIC TYPES >>>>>> 00012 00013 namespace edm 00014 { 00015 class Event; 00016 class EventSetup; 00017 } 00018 00019 class IgState; 00020 00021 //<<<<<< PUBLIC VARIABLES >>>>>> 00022 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00023 //<<<<<< CLASS DECLARATIONS >>>>>> 00024 00025 class VisEventObserver 00026 { 00027 public: 00028 VisEventObserver (IgState *state); 00029 // implicit copy constructor 00030 // implicit assignment operator 00031 // implicit destructor 00032 virtual ~VisEventObserver (void); 00033 00034 virtual void onNewEvent (const edm::Event &event, 00035 const edm::EventSetup &eventSetup) = 0; 00036 00037 void init (void); 00038 00039 private: 00040 IgState *m_state; //< State context. 00041 sigc::connection m_connection; 00042 }; 00043 00044 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00045 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00046 00047 #endif // VIS_FRAMEWORK_BASE_VIS_EVENT_OBSERVER_H