Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

IService.h

Go to the documentation of this file.
00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/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 
00016 class ISvcManager;
00017 class ServiceManager;
00018 
00019 class GAUDI_API IService: virtual public INamedInterface {
00020   friend class ServiceManager;
00021 public:
00023   DeclareInterfaceID(IService,3,0);
00024 
00026   virtual StatusCode sysInitialize() = 0;
00028   virtual StatusCode sysStart() = 0;
00030   virtual StatusCode sysStop() = 0;
00032   virtual StatusCode sysFinalize() = 0;
00034   virtual StatusCode sysReinitialize() = 0;
00036   virtual StatusCode sysRestart() = 0;
00037 
00038   // --- Methods from IStateful ---
00041   virtual StatusCode configure() = 0;
00042 
00045   virtual StatusCode initialize() = 0;
00046 
00049   virtual StatusCode start() = 0;
00050 
00053   virtual StatusCode stop() = 0;
00054 
00057   virtual StatusCode finalize() = 0;
00058 
00061   virtual StatusCode terminate() = 0;
00062 
00063 
00066   virtual StatusCode reinitialize() = 0;
00067 
00070   virtual StatusCode restart() = 0;
00071 
00074   virtual Gaudi::StateMachine::State FSMState() const = 0;
00075 
00079   virtual Gaudi::StateMachine::State targetFSMState() const = 0;
00080 
00081 protected:
00082   virtual void setServiceManager(ISvcManager*) = 0;
00083 };
00084 
00085 #endif  // GAUDIKERNEL_ISERVICE_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Wed Feb 9 16:24:51 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004