| The Gaudi Framework v30r0 (c919700c)

- 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, IStateful>
19 {
20 friend class ServiceManager;
21
22 public:
24 DeclareInterfaceID( IService, 4, 0 );
25
27 virtual StatusCode sysInitialize() = 0;
29 virtual StatusCode sysStart() = 0;
31 virtual StatusCode sysStop() = 0;
33 virtual StatusCode sysFinalize() = 0;
35 virtual StatusCode sysReinitialize() = 0;
37 virtual StatusCode sysRestart() = 0;
38
39 protected:
40 virtual void setServiceManager( ISvcManager* ) = 0;
41 };
42
43 #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
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:13
extend_interfaces
Base class to be used to extend an interface.
Definition: extend_interfaces.h:11
IStateful.h
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110