| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IStateful.h

Go to the documentation of this file.

    00001 // $Id: IStateful.h,v 1.1 2008/06/02 14:20:38 marcocle Exp $
    00002 #ifndef GAUDIKERNEL_ISTATEFUL_H
    00003 #define GAUDIKERNEL_ISTATEFUL_H
    00004
    00005 // Include Files
    00006 #include "GaudiKernel/IInterface.h"
    00007 #include "GaudiKernel/StateMachine.h"
    00008 #include <string>
    00009
    00010 static const InterfaceID IID_IStateful("IStateful", 1 , 0);
    00011
    00019 class IStateful : virtual public IInterface {
    00020   public:
    00021
    00023   static const InterfaceID& interfaceID() { return IID_IStateful; }
    00024
    00025   virtual ~IStateful(){} //< Virtual destructor.
    00026
    00029   virtual StatusCode configure() = 0;
    00030
    00033   virtual StatusCode initialize() = 0;
    00034
    00037   virtual StatusCode start() = 0;
    00038
    00041   virtual StatusCode stop() = 0;
    00042
    00045   virtual StatusCode finalize() = 0;
    00046
    00049   virtual StatusCode terminate() = 0;
    00050
    00051
    00054   virtual StatusCode reinitialize() = 0;
    00055
    00058   virtual StatusCode restart() = 0;
    00059
    00062   virtual Gaudi::StateMachine::State FSMState() const = 0;
    00063
    00067   virtual Gaudi::StateMachine::State targetFSMState() const = 0;
    00068
    00069 };
    00070
    00071 #endif // GAUDIKERNEL_ISTATEFUL_H