| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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
6 #include "GaudiKernel/INamedInterface.h"
7 #include "GaudiKernel/StateMachine.h"
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:
23 DeclareInterfaceID(IService,3,0);
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