00001 #ifndef VIS_FRAMEWORK_BASE_VIS_EXCEPTION_SERVICE_H 00002 # define VIS_FRAMEWORK_BASE_VIS_EXCEPTION_SERVICE_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Framework/interface/IgStateElement.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisExceptionMessage.h" 00008 # include "FWCore/Utilities/interface/Exception.h" 00009 # include <classlib/utils/Error.h> 00010 # include <exception> 00011 00012 //<<<<<< PUBLIC DEFINES >>>>>> 00013 //<<<<<< PUBLIC CONSTANTS >>>>>> 00014 //<<<<<< PUBLIC TYPES >>>>>> 00015 00016 class QWidget; 00017 00018 //<<<<<< PUBLIC VARIABLES >>>>>> 00019 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00020 //<<<<<< CLASS DECLARATIONS >>>>>> 00021 00022 class VisExceptionService : public IgStateElement 00023 { 00024 IG_DECLARE_STATE_ELEMENT (VisExceptionService); 00025 public: 00026 VisExceptionService (IgState *state); 00027 ~VisExceptionService (void); 00028 // implicit copy constructor 00029 // implicit assignment operator 00030 // implicit destructor 00031 00032 void exceptionCallback (std::exception *e); 00033 void errorCallback (lat::Error *e); 00034 void cmsExceptionCallback (cms::Exception *e); 00035 void unhandledExceptionCallback (void); 00036 00037 private: 00038 virtual void msgChanged (void); 00039 00040 IgState *m_state; //< State context. 00041 QWidget *m_mainWindow; 00042 VisExceptionMessage m_msg; 00043 }; 00044 00045 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00046 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00047 00048 #endif // VIS_FRAMEWORK_BASE_VIS_EXCEPTION_SERVICE_H