| The Gaudi Framework v27r1

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

- File List
- File Members

IService.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ISERVICE_H
2 #define GAUDIKERNEL_ISERVICE_H
3
4 // Include files
5 #include "GaudiKernel/INamedInterface.h"
6 #include "GaudiKernel/IStateful.h"
7 #include <string>
8
15 class ISvcManager;
16 class ServiceManager;
17
18 class GAUDI_API IService: virtual public extend_interfaces<INamedInterface,
19 IStateful> {
20 friend class ServiceManager;
21 public:
23 DeclareInterfaceID(IService,4,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
39 virtual ~IService() = default;
40
41 protected:
42 virtual void setServiceManager(ISvcManager*) = 0;
43 };
44
45 #endif // GAUDIKERNEL_ISERVICE_H
ServiceManager
The ServiceManager class is in charge of the creation of concrete instances of Services.
Definition: ServiceManager.h:36
ISvcManager
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:28
INamedInterface.h
IService
General service interface definition.
Definition: IService.h:18
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
extend_interfaces
Base class to be used to extend an interface.
Definition: extend_interfaces.h:11
IStateful.h
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107