00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IAppMgrUI.h,v 1.6 2008/06/02 14:20:38 marcocle Exp $ 00002 #ifndef GAUDIKERNEL_IAPPMGRUI_H 00003 #define GAUDIKERNEL_IAPPMGRUI_H 1 00004 00005 // Include files 00006 #include "GaudiKernel/Kernel.h" 00007 #include "GaudiKernel/StatusCode.h" 00008 #include "GaudiKernel/IInterface.h" 00009 #include "GaudiKernel/StateMachine.h" 00010 00011 #include <string> 00012 00013 // Declaration of the interface ID ( interface id, major version, minor version) 00014 static const InterfaceID IID_IAppMgrUI(12, 2 , 1); 00015 00025 class IAppMgrUI : virtual public IInterface { 00026 public: 00028 static const InterfaceID& interfaceID() { return IID_IAppMgrUI; } 00030 virtual StatusCode run() = 0; 00032 virtual StatusCode configure() = 0; 00034 virtual StatusCode terminate() = 0; 00036 virtual StatusCode initialize() = 0; 00038 virtual StatusCode finalize() = 0; 00040 virtual StatusCode nextEvent(int maxevt) = 0; 00041 00043 virtual const std::string& name() const = 0; 00044 00046 virtual StatusCode start() = 0; 00047 00049 virtual StatusCode stop() = 0; 00050 00052 virtual StatusCode reinitialize() = 0; 00053 00055 virtual StatusCode restart() = 0; 00056 00058 virtual Gaudi::StateMachine::State FSMState() const = 0; 00059 00060 }; 00061 #endif // KERNEL_IAPPMGRUI_H