All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IService.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IService.h,v 1.8 2008/06/02 14:20:38 marcocle Exp $
2 #ifndef GAUDIKERNEL_ISERVICE_H
3 #define GAUDIKERNEL_ISERVICE_H
4 
5 // Include files
8 #include <string>
9 
16 class ISvcManager;
17 class ServiceManager;
18 
19 class GAUDI_API IService: virtual public INamedInterface {
20  friend class ServiceManager;
21 public:
24 
26  virtual StatusCode sysInitialize() = 0;
28  virtual StatusCode sysStart() = 0;
30  virtual StatusCode sysStop() = 0;
32  virtual StatusCode sysFinalize() = 0;
34  virtual StatusCode sysReinitialize() = 0;
36  virtual StatusCode sysRestart() = 0;
37 
38  // --- Methods from IStateful ---
41  virtual StatusCode configure() = 0;
42 
45  virtual StatusCode initialize() = 0;
46 
49  virtual StatusCode start() = 0;
50 
53  virtual StatusCode stop() = 0;
54 
57  virtual StatusCode finalize() = 0;
58 
61  virtual StatusCode terminate() = 0;
62 
63 
66  virtual StatusCode reinitialize() = 0;
67 
70  virtual StatusCode restart() = 0;
71 
74  virtual Gaudi::StateMachine::State FSMState() const = 0;
75 
79  virtual Gaudi::StateMachine::State targetFSMState() const = 0;
80 
82  virtual ~IService() {}
83 
84 protected:
85  virtual void setServiceManager(ISvcManager*) = 0;
86 };
87 
88 #endif // GAUDIKERNEL_ISERVICE_H
The ServiceManager class is in charge of the creation of concrete instances of Services.
virtual StatusCode terminate()
Initialization (from CONFIGURED to OFFLINE).
virtual StatusCode configure()
Configuration (from OFFLINE to CONFIGURED).
virtual Gaudi::StateMachine::State targetFSMState() const
When we are in the middle of a transition, get the state where the transition is leading us...
virtual StatusCode stop()
Stop (from RUNNING to INITIALIZED).
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:29
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
virtual StatusCode reinitialize()
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:12
General service interface definition.
Definition: IService.h:19
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual StatusCode finalize()
Finalize (from INITIALIZED to CONFIGURED).
virtual Gaudi::StateMachine::State FSMState() const
Get the current state.
IInterface compliant class extending IInterface with the name() method.
virtual ~IService()
virtual destructor
Definition: IService.h:82
virtual StatusCode restart()
Initialization (from RUNNING to RUNNING, via INITIALIZED).
#define GAUDI_API
Definition: Kernel.h:108
tuple start
Definition: IOTest.py:88