The Gaudi Framework  v29r2 (7a580596)
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 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 ()=default
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 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 16 of file IStateful.h.

Member Function Documentation

virtual StatusCode IStateful::configure ( )
pure virtual

Configuration (from OFFLINE to CONFIGURED).

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

Finalize (from INITIALIZED to CONFIGURED).

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

Get the current state.

virtual StatusCode IStateful::initialize ( )
pure virtual

Initialization (from CONFIGURED to INITIALIZED).

virtual StatusCode IStateful::reinitialize ( )
pure virtual

Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).

virtual StatusCode IStateful::restart ( )
pure virtual

Initialization (from RUNNING to RUNNING, via INITIALIZED).

virtual StatusCode IStateful::start ( )
pure virtual

Start (from INITIALIZED to RUNNING).

virtual StatusCode IStateful::stop ( )
pure virtual

Stop (from RUNNING to INITIALIZED).

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().

virtual StatusCode IStateful::terminate ( )
pure virtual

Initialization (from CONFIGURED to OFFLINE).


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