#include <GaudiKernel/IFactory.h>
Inheritance diagram for IFactory:
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 IInterface * | instantiate (IInterface *parent) const =0 |
Instantiate an instance of a Gaudi class. | |
virtual unsigned long | addRef () const =0 |
virtual unsigned long | release () const =0 |
virtual unsigned long | addRef ()=0 |
Re-declaring these here avoids a compiler warning about hidden functions. | |
virtual unsigned long | release ()=0 |
Release Interface instance. | |
virtual const std::string & | ident () const =0 |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface)=0 |
Query interfaces of Interface. | |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Retrieve interface ID. |
It can be used to create Services, Algorithms, Converters, ...
Definition at line 21 of file IFactory.h.
enum IInterface::Status [inherited] |
Return status.
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 };
static const InterfaceID& IFactory::interfaceID | ( | ) | [inline, static] |
Retrieve interface ID.
Reimplemented from IInterface.
Definition at line 24 of file IFactory.h.
00024 { return IID_IFactory; }
virtual IInterface* IFactory::instantiate | ( | IInterface * | parent | ) | const [pure virtual] |
Instantiate an instance of a Gaudi class.
virtual unsigned long IFactory::addRef | ( | ) | const [pure virtual] |
virtual unsigned long IFactory::release | ( | ) | const [pure virtual] |
virtual unsigned long IFactory::addRef | ( | ) | [pure virtual] |
Re-declaring these here avoids a compiler warning about hidden functions.
Refer to ARM Page 210. Increment the reference count of Interface instance
Implements IInterface.
virtual unsigned long IFactory::release | ( | ) | [pure virtual] |
virtual const std::string& IFactory::ident | ( | ) | const [pure virtual] |
virtual StatusCode IInterface::queryInterface | ( | const InterfaceID & | riid, | |
void ** | ppvInterface | |||
) | [pure virtual, inherited] |
Query interfaces of Interface.
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.