#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.
1.4.7