|
||||
File indexing completed on 2025-01-18 09:57:40
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations * 0003 * * 0004 * This software is distributed under the terms of the Apache version 2 licence, * 0005 * copied verbatim in the file "LICENSE". * 0006 * * 0007 * In applying this licence, CERN does not waive the privileges and immunities * 0008 * granted to it by virtue of its status as an Intergovernmental Organization * 0009 * or submit itself to any jurisdiction. * 0010 \***********************************************************************************/ 0011 #ifndef GAUDIKERNEL_ISTATEFUL_H 0012 #define GAUDIKERNEL_ISTATEFUL_H 0013 0014 // Include Files 0015 #include "GaudiKernel/IInterface.h" 0016 #include "GaudiKernel/StateMachine.h" 0017 #include <string> 0018 0019 /** @class IStateful IStateful.h GaudiKernel/IStateful.h 0020 * 0021 * Interface for classes that implement the Gaudi State Machine 0022 * 0023 * @author Marco Clemencic 0024 * @date 2008-05-15 0025 */ 0026 class GAUDI_API IStateful : virtual public IInterface { 0027 public: 0028 /// InterfaceID 0029 DeclareInterfaceID( IStateful, 1, 0 ); 0030 0031 /** Configuration (from OFFLINE to CONFIGURED). 0032 */ 0033 virtual StatusCode configure() = 0; 0034 0035 /** Initialization (from CONFIGURED to INITIALIZED). 0036 */ 0037 virtual StatusCode initialize() = 0; 0038 0039 /** Start (from INITIALIZED to RUNNING). 0040 */ 0041 virtual StatusCode start() = 0; 0042 0043 /** Stop (from RUNNING to INITIALIZED). 0044 */ 0045 virtual StatusCode stop() = 0; 0046 0047 /** Finalize (from INITIALIZED to CONFIGURED). 0048 */ 0049 virtual StatusCode finalize() = 0; 0050 0051 /** Initialization (from CONFIGURED to OFFLINE). 0052 */ 0053 virtual StatusCode terminate() = 0; 0054 0055 /** Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). 0056 */ 0057 virtual StatusCode reinitialize() = 0; 0058 0059 /** Initialization (from RUNNING to RUNNING, via INITIALIZED). 0060 */ 0061 virtual StatusCode restart() = 0; 0062 0063 /** Get the current state. 0064 */ 0065 virtual Gaudi::StateMachine::State FSMState() const = 0; 0066 0067 /** When we are in the middle of a transition, get the state where the 0068 * transition is leading us. Otherwise it returns the same state as state(). 0069 */ 0070 virtual Gaudi::StateMachine::State targetFSMState() const = 0; 0071 }; 0072 0073 #endif // GAUDIKERNEL_ISTATEFUL_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |