00001 #ifndef VIS_FRAMEWORK_BASE_VIS_MAIN_PROGRAM_H 00002 # define VIS_FRAMEWORK_BASE_VIS_MAIN_PROGRAM_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Framework/interface/IgStateElement.h" 00007 # include "FWCore/Utilities/interface/Exception.h" 00008 # include <classlib/utils/Error.h> 00009 # include <exception> 00010 # include "boost/shared_ptr.hpp" 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 00023 class VisMainProgram : public IgStateElement 00024 { 00025 IG_DECLARE_STATE_ELEMENT (VisMainProgram); 00026 public: 00027 VisMainProgram (IgState *state); 00028 ~VisMainProgram (void); 00029 // implicit copy constructor 00030 // implicit assignment operator 00031 // implicit destructor 00032 00033 void startingProcessorCallback (void); 00034 void stoppingProcessorCallback (void); 00035 void processorStoppedCallback (void); 00036 void processorStartedCallback (void); 00037 void exceptionCallback (std::exception *e); 00038 void cmsExceptionCallback (cms::Exception *e); 00039 void frameworkExceptionCallback (lat::Error *e); 00040 void unhandledExceptionCallback (void); 00041 void configFailureCallback (cms::Exception *e); 00042 void statusMessageCallback (const std::string& msg); 00043 00044 private: 00045 void init (void); 00046 void start (void); 00047 void run (void); 00048 void quit (void); 00049 00050 IgState *m_state; //< State context. 00051 QWidget *m_mainWindow; 00052 }; 00053 00054 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00055 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00056 00057 #endif // VIS_FRAMEWORK_BASE_VIS_MAIN_PROGRAM_H