All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IStateful.h
Go to the documentation of this file.
1 // $Id: IStateful.h,v 1.1 2008/06/02 14:20:38 marcocle Exp $
2 #ifndef GAUDIKERNEL_ISTATEFUL_H
3 #define GAUDIKERNEL_ISTATEFUL_H
4 
5 // Include Files
8 #include <string>
9 
17 class GAUDI_API IStateful: virtual public IInterface {
18 public:
21 
22  virtual ~IStateful(){} //< Virtual destructor.
23 
26  virtual StatusCode configure() = 0;
27 
30  virtual StatusCode initialize() = 0;
31 
34  virtual StatusCode start() = 0;
35 
38  virtual StatusCode stop() = 0;
39 
42  virtual StatusCode finalize() = 0;
43 
46  virtual StatusCode terminate() = 0;
47 
48 
51  virtual StatusCode reinitialize() = 0;
52 
55  virtual StatusCode restart() = 0;
56 
59  virtual Gaudi::StateMachine::State FSMState() const = 0;
60 
64  virtual Gaudi::StateMachine::State targetFSMState() const = 0;
65 
66 };
67 
68 #endif // GAUDIKERNEL_ISTATEFUL_H
virtual ~IStateful()
Definition: IStateful.h:22
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:12
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
Interface for classes that implement the Gaudi State Machine.
Definition: IStateful.h:17
#define GAUDI_API
Definition: Kernel.h:108
tuple start
Definition: IOTest.py:88