| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IService.h

Go to the documentation of this file.
00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IService.h,v 1.8 2008/06/02 14:20:38 marcocle Exp $
00002 #ifndef GAUDIKERNEL_ISERVICE_H
00003 #define GAUDIKERNEL_ISERVICE_H
00004 
00005 // Include files
00006 #include "GaudiKernel/INamedInterface.h"
00007 #include "GaudiKernel/StateMachine.h"
00008 #include <string>
00009 
00010 // Declaration of the interface ID. 
00011 static const InterfaceID IID_IService(2, 2, 1); 
00012 
00019 class ISvcManager;
00020 class ServiceManager;
00021 
00022 class IService : virtual public INamedInterface {
00023   friend class ServiceManager;
00024 public:
00026   static const InterfaceID& interfaceID() { return IID_IService; }
00027 
00029   virtual const InterfaceID&  type() const = 0;
00031   virtual StatusCode sysInitialize() = 0;
00033   virtual StatusCode sysStart() = 0;
00035   virtual StatusCode sysStop() = 0;
00037   virtual StatusCode sysFinalize() = 0;
00039   virtual StatusCode sysReinitialize() = 0;
00041   virtual StatusCode sysRestart() = 0;
00042   
00043   // --- Methods from IStateful ---
00046   virtual StatusCode configure() = 0;
00047 
00050   virtual StatusCode initialize() = 0;
00051 
00054   virtual StatusCode start() = 0;
00055 
00058   virtual StatusCode stop() = 0;
00059 
00062   virtual StatusCode finalize() = 0;
00063   
00066   virtual StatusCode terminate() = 0;
00067 
00068 
00071   virtual StatusCode reinitialize() = 0;
00072 
00075   virtual StatusCode restart() = 0;
00076   
00079   virtual Gaudi::StateMachine::State FSMState() const = 0;
00080   
00084   virtual Gaudi::StateMachine::State targetFSMState() const = 0;
00085   
00086 protected:
00087   virtual void setServiceManager(ISvcManager*) = 0;
00088 };
00089 
00090 #endif  // GAUDIKERNEL_ISERVICE_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:57 2011 for GaudiKernel by doxygen 1.4.7