Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IInterface Class Reference

Definition of the basic interface. More...

#include <GaudiKernel/IInterface.h>

Inheritance diagram for IInterface:

IAddressCreator IAlgManager IAlgorithm IAlgTool IAppMgrUI IAuditor IAuditorSvc IChronoStatSvc IClassManager ICnvManager IContainedObjectFactory IConversionSvc IConverter IDataManagerSvc IDataObjectFactory IDataProviderSvc IDataSourceMgr IEventProcessor IEvtSelector IFactory IIncidentListener IIncidentSvc IInspector IJobOptionsSvc IMessageSvc IObjManager IPersistencySvc IProperty IRndmEngine IRndmGen IRunable ISelectStatement ISerialize IService ISvcLocator ISvcManager IToolSvc List of all members.

Public Types

enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...


Public Methods

virtual StatusCode queryInterface (const InterfaceID& riid, void** ppvInterface) = 0
 Query interfaces of Interface. More...

virtual unsigned long addRef () = 0
 Increment the reference count of Interface instance.

virtual unsigned long release () = 0
 Release Interface instance.


Static Public Methods

const InterfaceIDinterfaceID ()
 Retrieve interface ID. More...


Detailed Description

Definition of the basic interface.

Author(s):
Pere Mato , Markus Frank

Definition at line 65 of file IInterface.h.


Member Enumeration Documentation

enum IInterface::Status
 

Return status.

Enumeration values:
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, IDataManagerSvc, and IDataProviderSvc.

Definition at line 83 of file IInterface.h.


Member Function Documentation

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

Increment the reference count of Interface instance.

Reimplemented in AlgFactory, Algorithm, AlgTool, AudFactory, Auditor, CnvFactoryBase, Converter, IFactory, ObjectFactoryBase, PropertyMgr, SelectStatement, Service, SvcFactory, and ToolFactory.

Referenced by Converter::Converter(), Rndm::Numbers::Numbers(), ConversionSvc::addConverter(), NTuple::TupleImp::attachSelector(), Rndm::Numbers::initialize(), SmartIF< IInterface >::operator=(), SmartIF::operator=(), SelectStatement::queryInterface(), ObjectFactory2::queryInterface(), ObjectFactory::queryInterface(), DataObjectFactory::queryInterface(), ContainedObjectFactory::queryInterface(), and DataSvc::setDataLoader().

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

Retrieve interface ID.

Reimplemented in IAddressCreator, IAlgFactory, IAlgManager, IAlgorithm, IAlgTool, IAppMgrUI, IAuditor, IAuditorFactory, IAuditorSvc, IChronoStatSvc, IClassManager, ICnvFactory, ICnvManager, IConversionSvc, IConverter, IDataManagerSvc, IDataProviderSvc, IDataSourceMgr, IEventProcessor, IEvtSelector, IFactory, IGiGaSetUpSvc, IGiGaSvc, IHistogramSvc, IIncidentListener, IIncidentSvc, IJobOptionsSvc, IMagneticFieldSvc, IMessageSvc, INTupleSvc, IDataObjectFactory, IContainedObjectFactory, IObjManager, IParticlePropertySvc, IPersistencySvc, IProperty, IRndmEngine, IRndmGen, IRndmGenFactory, IRndmGenSvc, IRunable, IScriptingSvc, ISelectStatement, ISerialize, IService, ISvcFactory, ISvcLocator, ISvcManager, IToolFactory, and IToolSvc.

Definition at line 68 of file IInterface.h.

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

Query interfaces of Interface.

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

Referenced by Gaudi::createApplicationMgrEx(), Gaudi::createInstance(), SmartIF::operator=(), ObjectFactory2::queryInterface(), ObjectFactory::queryInterface(), DataObjectFactory::queryInterface(), ContainedObjectFactory::queryInterface(), Service::service(), Auditor::service(), Algorithm::service(), and Gaudi::svcLocator().

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

Release Interface instance.

Reimplemented in AlgFactory, Algorithm, AlgTool, AudFactory, Auditor, CnvFactoryBase, Converter, IFactory, ObjectFactoryBase, PropertyMgr, SelectStatement, Service, SvcFactory, and ToolFactory.

Referenced by ConversionSvc::addConverter(), Service::finalize(), Rndm::Numbers::finalize(), SmartIFBase::releaseInterface(), DataSvc::setDataLoader(), and Converter::~Converter().


The documentation for this class was generated from the following file:
Generated at Wed Nov 21 12:22:12 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000