The Gaudi Framework  v30r3 (a5ef0a68)
IService.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ISERVICE_H
2 #define GAUDIKERNEL_ISERVICE_H
3 
4 // Include files
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:
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
The ServiceManager class is in charge of the creation of concrete instances of Services.
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:28
General service interface definition.
Definition: IService.h:18
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
#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
Base class to be used to extend an interface.
#define GAUDI_API
Definition: Kernel.h:104