The Gaudi Framework  v30r3 (a5ef0a68)
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::stringgetInterfaceNames () 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 : StatusCode::code_t {
  Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH,
  Status::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 InterfaceIDinterfaceID ()
 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  ,
,
 
)
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: