The Gaudi Framework
v30r3 (a5ef0a68)
|
Abstract interface for AlgTools to do thread local initialization. More...
#include <GaudiKernel/IThreadInitTool.h>
Public Member Functions | |
DeclareInterfaceID (IThreadInitTool, 1, 0) | |
Declare the interface to the framework. More... | |
virtual void | initThread ()=0 |
Perform worker thread initialization. Called concurrently on each thread. More... | |
virtual void | terminateThread ()=0 |
Perform worker thread finalization. Called concurrently on each thread. More... | |
virtual unsigned int | nInit () const =0 |
Number of threads initialized. More... | |
Public Member Functions inherited from IAlgTool | |
DeclareInterfaceID (IAlgTool, 4, 0) | |
InterfaceID. More... | |
virtual const std::string & | type () const =0 |
The type of an AlgTool, meaning the concrete AlgTool class. More... | |
virtual const IInterface * | parent () const =0 |
The parent of the concrete AlgTool. 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 StatusCode | sysInitialize ()=0 |
Initialization of the Tool. More... | |
virtual StatusCode | sysStart ()=0 |
Initialization of the Tool. More... | |
virtual StatusCode | sysStop ()=0 |
Initialization of the Tool. More... | |
virtual StatusCode | sysFinalize ()=0 |
Finalization of the Tool. More... | |
virtual StatusCode | sysReinitialize ()=0 |
Initialization of the Tool. More... | |
virtual StatusCode | sysRestart ()=0 |
Initialization of the Tool. More... | |
Public Member Functions inherited from INamedInterface | |
DeclareInterfaceID (INamedInterface, 1, 0) | |
InterfaceID. More... | |
virtual const std::string & | name () const =0 |
Retrieve the name of the instance. 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 : 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 InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
Abstract interface for AlgTools to do thread local initialization.
Tools that implement this interface can be plugged into a ThreadPoolSvc to be called during the initialization of each worker thread to do thread-local setup. Correspondingly, the tool will be invoked again at the end of processing in each thread to do thread-local cleanup or final work.
Definition at line 24 of file IThreadInitTool.h.
IThreadInitTool::DeclareInterfaceID | ( | IThreadInitTool | , |
1 | , | ||
0 | |||
) |
Declare the interface to the framework.
|
pure virtual |
Perform worker thread initialization. Called concurrently on each thread.
|
pure virtual |
Number of threads initialized.
Used for some error checking. The count must be atomically incremented during initialization and atomically decremented during finalization.
|
pure virtual |
Perform worker thread finalization. Called concurrently on each thread.