All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IStateful Class Referenceabstract

Interface for classes that implement the Gaudi State Machine. More...

#include <GaudiKernel/IStateful.h>

Inheritance diagram for IStateful:
Collaboration diagram for IStateful:

Public Member Functions

 DeclareInterfaceID (IStateful, 1, 0)
 InterfaceID. More...
 
virtual ~IStateful ()
 
virtual StatusCode configure ()=0
 Configuration (from OFFLINE to CONFIGURED). More...
 
virtual StatusCode initialize ()=0
 Initialization (from CONFIGURED to INITIALIZED). More...
 
virtual StatusCode start ()=0
 Start (from INITIALIZED to RUNNING). More...
 
virtual StatusCode stop ()=0
 Stop (from RUNNING to INITIALIZED). More...
 
virtual StatusCode finalize ()=0
 Finalize (from INITIALIZED to CONFIGURED). More...
 
virtual StatusCode terminate ()=0
 Initialization (from CONFIGURED to OFFLINE). More...
 
virtual StatusCode reinitialize ()=0
 Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More...
 
virtual StatusCode restart ()=0
 Initialization (from RUNNING to RUNNING, via INITIALIZED). More...
 
virtual Gaudi::StateMachine::State FSMState () const =0
 Get the current state. More...
 
virtual Gaudi::StateMachine::State targetFSMState () const =0
 When we are in the middle of a transition, get the state where the transition is leading us. More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::string > getInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
typedef Gaudi::InterfaceId
< IInterface, 0, 0 > 
iid
 Interface ID. More...
 
typedef mpl::set1< iid > ext_iids
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceID & interfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

Interface for classes that implement the Gaudi State Machine.

Author
Marco Clemencic
Date
2008-05-15

Definition at line 17 of file IStateful.h.

Constructor & Destructor Documentation

virtual IStateful::~IStateful ( )
inlinevirtual

Definition at line 22 of file IStateful.h.

22 {} //< Virtual destructor.

Member Function Documentation

virtual StatusCode IStateful::configure ( )
pure virtual

Configuration (from OFFLINE to CONFIGURED).

Implemented in Algorithm, ApplicationMgr, AlgTool, Service, and ComponentManager.

IStateful::DeclareInterfaceID ( IStateful  ,
1  ,
0   
)
virtual StatusCode IStateful::finalize ( )
pure virtual

Finalize (from INITIALIZED to CONFIGURED).

Implemented in GaudiHistos< GaudiAlgorithm >, GaudiHistos< GaudiTool >, GaudiCommon< Algorithm >, GaudiCommon< AlgTool >, MultiStoreSvc, Gaudi::Utils::StopSignalHandler, DataSvc, GaudiTuples< GaudiHistoTool >, GaudiTuples< GaudiHistoAlg >, PersistencySvc, StoreExplorerAlg, CollectionCloneAlg, HistogramSvc, DataOnDemandSvc, Algorithm, Gaudi::RootCnvSvc, OutputStream, GslSvc, GaudiAlgorithm, GaudiTool, TagCollectionStream, EventCollectionSelector, ServiceManager, EventSelector, ConversionSvc, Gaudi::RootPerfMonSvc, StoreSnifferAlg, Gaudi::ParticlePropertySvc, MinimalEventLoopMgr, Gaudi::IODataManager, ApplicationMgr, EventLoopMgr, AlgorithmManager, GaudiHistoTool, Sequencer, GaudiTupleTool, PartitionSwitchAlg, GaudiTupleAlg, GaudiHistoAlg, RndmGenSvc, Gaudi::MultiFileCatalog, CounterSvc, PartitionSwitchTool, RndmEngine, IncidentSvc, AlgTool, HistogramPersistencySvc, Gaudi::RootEvtSelector, EvtCollectionStream, Service, GaudiPython::PyAlgorithm, StalledEventMonitor, SequencerTimerTool, ComponentManager, DataStreamTool, AppMgrRunable, IoComponentMgr, MessageSvc, FuncMinimum, HistorySvc, AlgContextSvc, ChronoStatSvc, NTupleSvc, EvtPersistencySvc, GslErrorCount, RandomNumberAlg, DetDataSvc, DataSvcFileEntriesTool, EqSolver, ExceptionSvc, HepRndm::Engine< TYPE >, FileMgr, GaudiSequencer, InputCopyStream, ToolSvc, JobOptionsSvc, TagCollectionSvc, AuditorSvc, THistSvc, RecordDataSvc, VFSSvc, PartPropSvc, RecordOutputStream, ReplayOutputStream, Prescaler, PythonScriptingSvc, RootHistCnv::PersSvc, WriteAlg, EventCounter, HelloWorld, PropertyAlg, RecordStream, RunRecordStream, IssueLogger, EvtDataSvc, StatusCodeSvc, and DetPersistencySvc.

virtual Gaudi::StateMachine::State IStateful::FSMState ( ) const
pure virtual

Get the current state.

Implemented in Algorithm, ApplicationMgr, AlgTool, ComponentManager, and Service.

virtual StatusCode IStateful::initialize ( )
pure virtual

Initialization (from CONFIGURED to INITIALIZED).

Implemented in GaudiHistos< GaudiAlgorithm >, GaudiHistos< GaudiTool >, GaudiCommon< Algorithm >, GaudiCommon< AlgTool >, MultiStoreSvc, DataSvc, Gaudi::Utils::StopSignalHandler, GaudiTuples< GaudiHistoTool >, GaudiTuples< GaudiHistoAlg >, PersistencySvc, StoreExplorerAlg, HistogramSvc, DataOnDemandSvc, CollectionCloneAlg, Algorithm, Gaudi::RootCnvSvc, OutputStream, GslSvc, GaudiTool, TagCollectionStream, GaudiAlgorithm, EventCollectionSelector, EventSelector, ServiceManager, ConversionSvc, Gaudi::RootPerfMonSvc, Gaudi::ParticlePropertySvc, StoreSnifferAlg, Gaudi::IODataManager, MinimalEventLoopMgr, ApplicationMgr, EventLoopMgr, AlgorithmManager, GaudiHistoTool, GaudiTupleTool, GaudiTupleAlg, RndmGenSvc, Gaudi::MultiFileCatalog, GaudiHistoAlg, IncidentSvc, RndmEngine, AlgTool, HistogramPersistencySvc, Gaudi::RootEvtSelector, PartitionSwitchAlg, EvtCollectionStream, Sequencer, Service, IoComponentMgr, SequencerTimerTool, FuncMinimum, MessageSvc, HistorySvc, GaudiPython::PyAlgorithm, AlgContextSvc, ChronoStatSvc, AppMgrRunable, PartitionSwitchTool, EvtPersistencySvc, DataStreamTool, ComponentManager, NTupleSvc, EqSolver, RandomNumberAlg, StalledEventMonitor, ExceptionSvc, FileMgr, HepRndm::Engine< TYPE >, DataSvcFileEntriesTool, DetDataSvc, GaudiSequencer, InputCopyStream, JobOptionsSvc, TagCollectionSvc, ToolSvc, THistSvc, AuditorSvc, RecordDataSvc, VFSSvc, PartPropSvc, RecordOutputStream, Prescaler, ReplayOutputStream, PythonScriptingSvc, WriteAlg, RootHistCnv::PersSvc, EventCounter, HelloWorld, PropertyAlg, IssueLogger, EvtDataSvc, StatusCodeSvc, and DetPersistencySvc.

virtual StatusCode IStateful::restart ( )
pure virtual

Initialization (from RUNNING to RUNNING, via INITIALIZED).

Implemented in Algorithm, ServiceManager, ApplicationMgr, MinimalEventLoopMgr, AlgorithmManager, AlgTool, ComponentManager, and Service.

virtual Gaudi::StateMachine::State IStateful::targetFSMState ( ) const
pure virtual

When we are in the middle of a transition, get the state where the transition is leading us.

Otherwise it returns the same state as state().

Implemented in Algorithm, ApplicationMgr, ComponentManager, AlgTool, and Service.

virtual StatusCode IStateful::terminate ( )
pure virtual

Initialization (from CONFIGURED to OFFLINE).

Implemented in Algorithm, ApplicationMgr, AlgTool, ComponentManager, and Service.


The documentation for this class was generated from the following file: