![]() |
|
|
Generated: 18 Jul 2008 |
#include <GaudiKernel/IToolSvc.h>
Inheritance diagram for IToolSvc:


Definition at line 20 of file IToolSvc.h.
Public Member Functions | |
| virtual StatusCode | retrieve (const std::string &type, const InterfaceID &iid, IAlgTool *&tool, const IInterface *parent=0, bool createIf=true)=0 |
| Retrieve tool with tool dependent part of the name automatically assigned. | |
| virtual StatusCode | retrieve (const std::string &type, const std::string &name, const InterfaceID &iid, IAlgTool *&tool, const IInterface *parent=0, bool createIf=true)=0 |
| Retrieve tool with tool dependent part of the name specified by the requester. | |
| virtual std::vector< std::string > | getInstances (const std::string &toolType)=0 |
| Get all instance of tool by type. | |
| virtual StatusCode | releaseTool (IAlgTool *tool)=0 |
| Release the tool. | |
| template<class T> | |
| StatusCode | retrieveTool (const std::string &type, T *&tool, const IInterface *parent=0, bool createIf=true) |
| Retrieve specified tool sub-type with tool dependent part of the name automatically assigned. | |
| template<class T> | |
| StatusCode | retrieveTool (const std::string &type, const std::string &name, T *&tool, const IInterface *parent=0, bool createIf=true) |
| Retrieve specified tool sub-type with tool dependent part of the name tool dependent part of the name specified by the requester. | |
| virtual void | registerObserver (Observer *obs)=0 |
| virtual void | unRegisterObserver (Observer *obs)=0 |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| Retrieve interface ID. | |
Classes | |
| class | Observer |
| allow call-backs when a tool is a created or retrieved More... | |
| static const InterfaceID& IToolSvc::interfaceID | ( | ) | [inline, static] |
Retrieve interface ID.
Reimplemented from IInterface.
Definition at line 24 of file IToolSvc.h.
References IID_IToolSvc.
Referenced by HbookCnv::HFileCnv::initialize().
00024 { return IID_IToolSvc; }
| virtual StatusCode IToolSvc::retrieve | ( | const std::string & | type, | |
| const InterfaceID & | iid, | |||
| IAlgTool *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [pure virtual] |
Retrieve tool with tool dependent part of the name automatically assigned.
By default a tool will be created if it does not exist, unless otherwise specified. By default it will be a common tool unless a parent is specified. The parent of a common tool is automatically taken as the ToolSvc itself.
| type | AlgTool type name | |
| iid | the unique interface identifier | |
| tool | returned tool | |
| parent | constant reference to the parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Implemented in ToolSvc.
Referenced by VFSSvc::initialize(), retrieveTool(), and GaudiPython::Helper::tool().
| virtual StatusCode IToolSvc::retrieve | ( | const std::string & | type, | |
| const std::string & | name, | |||
| const InterfaceID & | iid, | |||
| IAlgTool *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [pure virtual] |
Retrieve tool with tool dependent part of the name specified by the requester.
By default a tool will be created if it does not exist, unless otherwise specified. By default it will be a common tool unless a parent is specified. The parent of a common tool is automatically taken as the ToolSvc itself.
| type | AlgTool type name | |
| name | name to be assigned to tool dependent part of the name | |
| iid | the unique interface identifier | |
| tool | returned tool | |
| parent | constant reference to parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Implemented in ToolSvc.
| virtual std::vector<std::string> IToolSvc::getInstances | ( | const std::string & | toolType | ) | [pure virtual] |
| virtual StatusCode IToolSvc::releaseTool | ( | IAlgTool * | tool | ) | [pure virtual] |
Release the tool.
| tool | to be released |
Implemented in ToolSvc.
Referenced by VFSSvc::finalize(), PartitionSwitchAlg::finalize(), and PartitionSwitchAlg::initialize().
| StatusCode IToolSvc::retrieveTool | ( | const std::string & | type, | |
| T *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [inline] |
Retrieve specified tool sub-type with tool dependent part of the name automatically assigned.
Internally it uses the corresponding IToolSvc::retrieve and does the dynamic casting.
IToolSvc* svc = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , tool ) ;
'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be ToolSvc.MyToolType
IToolSvc* svc = ... ; IAlgorithm* alg = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , tool , alg ) ;
'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be <AlgName>.MyToolType , where <AlgName> is a name of the algorithm.
IToolSvc* svc = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType/MyToolName" , tool ) ;
'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be ToolSvc.MyToolName
IToolSvc* svc = ... ; IAlgorithm* alg = ... ; IMyTool* tool = 0 ; StatusCode sc = svc -> retrieveTool ( "MyToolType/MyToolName" , tool , alg ) ;
'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be <AlgName>.MyToolName , where <AlgName> is a name of the algorithm.
| tool | returned tool | |
| parent | constant reference to parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Definition at line 137 of file IToolSvc.h.
References retrieve().
Referenced by EventSelector::initialize(), PartitionSwitchAlg::initialize(), and TimingAuditor::initialize().
00141 { 00142 return retrieve( type, 00143 T::interfaceID(), 00144 (IAlgTool*&)tool, 00145 parent, 00146 createIf ); 00147 }
| StatusCode IToolSvc::retrieveTool | ( | const std::string & | type, | |
| const std::string & | name, | |||
| T *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [inline] |
Retrieve specified tool sub-type with tool dependent part of the name tool dependent part of the name specified by the requester.
Internally it uses the corresponding IToolSvc::retrieve and does the dynamic casting.
IToolSvc* svc = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , "MyToolName" , tool ) ;
'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be ToolSvc.MyToolName
IToolSvc* svc = ... ; IAlgorithm* alg = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , "MyToolName" , tool , alg ) ;
'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be <AlgName>.MyToolName , where <AlgName> is a name of the algorithm.
If name is empty ("") it is assumed to be equal to the type
| type | AlgTool type name | |
| name | name to be assigned to tool dependent part of the name | |
| tool | returned tool | |
| parent | constant reference to parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Definition at line 193 of file IToolSvc.h.
References name, and retrieve().
00198 { 00199 return retrieve ( type, 00200 name, 00201 T::interfaceID(), 00202 (IAlgTool*&)tool, 00203 parent, 00204 createIf ); 00205 }