|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
00001 // $Id: IStateful.h,v 1.1 2008/06/02 14:20:38 marcocle Exp $ 00002 #ifndef GAUDIKERNEL_ISTATEFUL_H 00003 #define GAUDIKERNEL_ISTATEFUL_H 00004 00005 // Include Files 00006 #include "GaudiKernel/IInterface.h" 00007 #include "GaudiKernel/StateMachine.h" 00008 #include <string> 00009 00017 class GAUDI_API IStateful: virtual public IInterface { 00018 public: 00020 DeclareInterfaceID(IStateful,1,0); 00021 00022 virtual ~IStateful(){} //< Virtual destructor. 00023 00026 virtual StatusCode configure() = 0; 00027 00030 virtual StatusCode initialize() = 0; 00031 00034 virtual StatusCode start() = 0; 00035 00038 virtual StatusCode stop() = 0; 00039 00042 virtual StatusCode finalize() = 0; 00043 00046 virtual StatusCode terminate() = 0; 00047 00048 00051 virtual StatusCode reinitialize() = 0; 00052 00055 virtual StatusCode restart() = 0; 00056 00059 virtual Gaudi::StateMachine::State FSMState() const = 0; 00060 00064 virtual Gaudi::StateMachine::State targetFSMState() const = 0; 00065 00066 }; 00067 00068 #endif // GAUDIKERNEL_ISTATEFUL_H