| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IInterface Class Reference

`#include <GaudiKernel/IInterface.h>`

Inheritance diagram for IInterface:

[legend]

List of all members.

## Detailed Description

Definition of the basic interface.

Author:
  Pere Mato

  Markus Frank

Definition at line 91 of file IInterface.h.

## Public Types
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
## Public Member Functions
virtual | ~IInterface ()
| destructor
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface)=0
| Query interfaces of Interface.
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance.
virtual unsigned long | release ()=0
| Release Interface instance.
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| Retrieve interface ID.

## Member Enumeration Documentation

enum IInterface::Status

Return status.

Enumerator:

  SUCCESS | Normal successful completion.
  NO_INTERFACE | Requested interface is not available.
  VERSMISMATCH | Requested interface version is incompatible.
  LAST_ERROR | Last error.

Reimplemented in GFALDataStreamTool, 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   };

## Constructor & Destructor Documentation

virtual IInterface::~IInterface | ( |  | ) | `[inline, virtual]`

destructor

Definition at line 97 of file IInterface.h.

    00097 { }

## Member Function Documentation

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

Retrieve interface ID.

Reimplemented in IErrorTool, IGenericTool, IHistoTool, ISequencerTimerTool, ITupleTool, IEqSolver, IFuncMinimum, IGslErrorHandler, IGslSvc, IAddressCreator, IAIDATupleSvc, IAlgContextSvc, IAlgManager, IAlgorithm, IAlgTool, IAppMgrUI, IAuditor, IAuditorSvc, IChronoStatSvc, IChronoSvc, IClassManager, IConversionSvc, IConverter, ICounterSvc, IDataManagerSvc, IDataProviderSvc, IDataSourceMgr, IDataStreamTool, IDetDataSvc, IEventProcessor, IEventTimeDecoder, IEvtSelector, IExceptionSvc, IFactory, IFileAccess, IHistogramSvc, IHistorySvc, IIncidentListener, IIncidentSvc, IIssueLogger, IJobOptionsSvc, IMagneticFieldSvc, IMessageSvc, IMonitorSvc, INamedInterface, INTupleSvc, IParticlePropertySvc, IPartitionControl, IPartPropSvc, IPersistencySvc, IProperty, IRndmEngine, IRndmGen, IRndmGenSvc, IRunable, ISelectStatement, ISerialize, IService, IStagerSvc, IStateful, IStatSvc, IStatusCodeSvc, ISvcLocator, ISvcManager, ITHistSvc, IToolSvc, IUpdateManagerSvc, IPoolCacheSvc, IPoolDbMgr, IPoolDbCnvFactory, Gaudi::IFileCatalog, Gaudi::IFileCatalogMgr, and Gaudi::IIODataManager.

Definition at line 94 of file IInterface.h.

    00094 { return IID_IInterface; }

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

Query interfaces of Interface.

Parameters:

  | riid | ID of Interface to be retrieved
  | ppvInterface | Pointer to Location for interface pointer

Implemented in TimingAuditor, GslSvc, Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, Service, Gaudi::BootSvcLocator, DataListenerSvc, PoolDbCacheSvc, PoolDbCnvFactory< ConcreteConverter, i >, PoolDbCnvSvc, PoolDbEvtSelector, PythonScriptingSvc, AIDATupleSvc, AlgContextSvc, AlgorithmManager, ApplicationMgr, AppMgrRunable, DLLClassManager, ServiceManager, AuditorSvc, ChronoStatSvc, CounterSvc, MultiStoreSvc, PartitionSwitchAlg, PartitionSwitchTool, DetDataSvc, EventCollectionSelector, EventSelector, ExceptionSvc, FastContainersSvc, HistogramSvc, HistorySvc, DataOnDemandSvc, IncidentSvc, IssueLogger, JobOptionsSvc, MessageSvc, NTupleSvc, ParticlePropertySvc, PersistencySvc, RndmEngine, RndmGen, RndmGenSvc, StatusCodeSvc, THistSvc, ToolSvc, VFSSvc, Gaudi::IODataManager, Gaudi::MultiFileCatalog, Gaudi::XMLFileCatalog, and PartPropSvc.

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

Increment the reference count of Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, Service, Gaudi::BootSvcLocator, PoolDbCnvFactory< ConcreteConverter, i >, AlgorithmManager, ApplicationMgr, DLLClassManager, ServiceManager, RndmGen, and Gaudi::XMLFileCatalog.

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

Release Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, Service, Gaudi::BootSvcLocator, PoolDbCnvFactory< ConcreteConverter, i >, AlgorithmManager, ApplicationMgr, DLLClassManager, ServiceManager, RndmGen, and Gaudi::XMLFileCatalog.

The documentation for this class was generated from the following file:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiKernel/GaudiKernel/IInterface.h