| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IStateful Class Reference

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

#include <IStateful.h>

Inheritance diagram for IStateful:

[legend]
Collaboration diagram for IStateful:
[legend]
List of all members.

Public Types

 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...

Public Member Functions

virtual ~IStateful ()
virtual StatusCode configure ()=0
 Configuration (from OFFLINE to CONFIGURED).
virtual StatusCode initialize ()=0
 Initialization (from CONFIGURED to INITIALIZED).
virtual StatusCode start ()=0
 Start (from INITIALIZED to RUNNING).
virtual StatusCode stop ()=0
 Stop (from RUNNING to INITIALIZED).
virtual StatusCode finalize ()=0
 Finalize (from INITIALIZED to CONFIGURED).
virtual StatusCode terminate ()=0
 Initialization (from CONFIGURED to OFFLINE).
virtual StatusCode reinitialize ()=0
 Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
virtual StatusCode restart ()=0
 Initialization (from RUNNING to RUNNING, via INITIALIZED).
virtual Gaudi::StateMachine::State FSMState () const =0
 Get the current state.
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.
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)=0
 Query interfaces of Interface.
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
virtual unsigned long release ()=0
 Release Interface instance.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.

Detailed Description

Interface for classes that implement the Gaudi State Machine.

Author:
Marco Clemencic
Date:
2008-05-15

Definition at line 19 of file IStateful.h.


Member Enumeration Documentation

enum IInterface::Status [inherited]

Return status.

Enumerator:
SUCCESS  Normal successful completion.
NO_INTERFACE  Requested interface is not available.
VERSMISMATCH  Requested interface version is incompatible.
LAST_ERROR  Last error.

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };


Constructor & Destructor Documentation

virtual IStateful::~IStateful (  )  [inline, virtual]

Definition at line 25 of file IStateful.h.

00025 {} //< Virtual destructor.


Member Function Documentation

static const InterfaceID& IStateful::interfaceID (  )  [inline, static]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 23 of file IStateful.h.

00023 { return IID_IStateful; }

virtual StatusCode IStateful::configure (  )  [pure virtual]

Configuration (from OFFLINE to CONFIGURED).

Implemented in Algorithm, AlgTool, and Service.

virtual StatusCode IStateful::initialize (  )  [pure virtual]

Initialization (from CONFIGURED to INITIALIZED).

Implemented in Algorithm, AlgTool, ConversionSvc, DataStreamTool, DataSvc, MinimalEventLoopMgr, and Service.

virtual StatusCode IStateful::start (  )  [pure virtual]

Start (from INITIALIZED to RUNNING).

Implemented in Algorithm, AlgTool, MinimalEventLoopMgr, and Service.

virtual StatusCode IStateful::stop (  )  [pure virtual]

Stop (from RUNNING to INITIALIZED).

Implemented in Algorithm, AlgTool, MinimalEventLoopMgr, and Service.

virtual StatusCode IStateful::finalize (  )  [pure virtual]

Finalize (from INITIALIZED to CONFIGURED).

Implemented in Algorithm, AlgTool, ConversionSvc, DataStreamTool, DataSvc, MinimalEventLoopMgr, and Service.

virtual StatusCode IStateful::terminate (  )  [pure virtual]

Initialization (from CONFIGURED to OFFLINE).

Implemented in Algorithm, AlgTool, and Service.

virtual StatusCode IStateful::reinitialize (  )  [pure virtual]

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

Implemented in Algorithm, AlgTool, DataSvc, MinimalEventLoopMgr, and Service.

virtual StatusCode IStateful::restart (  )  [pure virtual]

Initialization (from RUNNING to RUNNING, via INITIALIZED).

Implemented in Algorithm, AlgTool, MinimalEventLoopMgr, and Service.

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

Get the current state.

Implemented in Algorithm, AlgTool, 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, AlgTool, and Service.

virtual StatusCode IInterface::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [pure virtual, inherited]

Query interfaces of Interface.

Parameters:
riid ID of Interface to be retrieved
ppvInterface Pointer to Location for interface pointer

Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::addRef (  )  [pure virtual, inherited]

Increment the reference count of Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::release (  )  [pure virtual, inherited]

Release Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:11 2011 for GaudiKernel by doxygen 1.4.7