| # Gaudi Framework, version v21r6 |

Home |  | Generated: 11 Nov 2009

# 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

  Marco Clemencic

Definition at line 161 of file IInterface.h.

## Public Types
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid
| Interface ID.
typedef mpl::set1< iid > | ext_iids
| Extra interfaces.
## Public Member Functions
virtual void * | i_cast (const std::type_info &) const =0
| main cast function
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces.
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance.
virtual unsigned long | release ()=0
| Release Interface instance.
virtual unsigned long | refCount () const =0
| Current reference count.
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance.
virtual | ~IInterface ()
| Virtual destructor.
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface.

## Member Typedef Documentation

typedef Gaudi::InterfaceId<IInterface,0,0> IInterface::iid

Interface ID.

Definition at line 165 of file IInterface.h.

typedef mpl::set1<iid> IInterface::ext_iids

Extra interfaces.

Reimplemented in extend_interfaces1< IDataStreamTool >, extend_interfaces1< IFileAccess >, extend_interfaces1< IChronoStatSvc >, extend_interfaces1< IIssueLogger >, extend_interfaces1< IAlgManager >, extend_interfaces1< IStatusCodeSvc >, extend_interfaces1< IAuditorSvc >, extend_interfaces1< IProperty >, extend_interfaces1< IPoolDbMgr >, extend_interfaces1< IClassManager >, extend_interfaces1< IAIDATupleSvc >, extend_interfaces1< IGslErrorHandler >, extend_interfaces1< IEventProcessor >, extend_interfaces1< ISelectStatement >, extend_interfaces1< IConverter >, extend_interfaces1< IPartPropSvc >, extend_interfaces1< ICounterSvc >, extend_interfaces1< IParticlePropertySvc >, extend_interfaces1< IEvtSelector >, extend_interfaces1< IPartitionControl >, extend_interfaces1< IToolSvc >, extend_interfaces1< IPoolCacheSvc >, extend_interfaces1< IMessageSvc >, extend_interfaces1< IComponentManager >, extend_interfaces1< IRunable >, extend_interfaces1< IFuncMinimum >, extend_interfaces1< IGslSvc >, extend_interfaces1< ISvcLocator >, extend_interfaces1< Gaudi::IFileCatalog >, extend_interfaces1< IIncidentListener >, extend_interfaces1< IEqSolver >, extend_interfaces1< IRndmGen >, extend_interfaces1< IInterface >, extend_interfaces1< IHistogramSvc >, extend_interfaces1< ITHistSvc >, extend_interfaces1< Gaudi::IIODataManager >, extend_interfaces1< IIncidentSvc >, extend_interfaces2< INTupleSvc, IDataSourceMgr >, extend_interfaces2< IDataProviderSvc, IDataManagerSvc >, extend_interfaces2< IDetDataSvc, IIncidentListener >, extend_interfaces2< IService, IAuditor >, extend_interfaces2< ICnvFactory, IPoolDbCnvFactory >, extend_interfaces2< IHistorySvc, IIncidentListener >, extend_interfaces2< IProperty, IJobOptionsSvc >, extend_interfaces2< IMonitorSvc, IIncidentListener >, extend_interfaces2< IAuditor, IProperty >, extend_interfaces2< Gaudi::IFileCatalog, Gaudi::IFileCatalogMgr >, extend_interfaces2< IAlgContextSvc, IIncidentListener >, extend_interfaces2< IConversionSvc, IAddressCreator >, extend_interfaces2< ISvcManager, ISvcLocator >, extend_interfaces3< IAlgorithm, IProperty, IStateful >, extend_interfaces3< IRndmEngine, ISerialize, IIncidentListener >, extend_interfaces3< IAlgTool, IProperty, IStateful >, extend_interfaces3< IConversionSvc, IPersistencySvc, IAddressCreator >, extend_interfaces3< IService, IProperty, IStateful >, extend_interfaces3< IRndmGenSvc, IRndmEngine, ISerialize >, extend_interfaces3< IService, IChronoSvc, IStatSvc >, extend_interfaces3< IDataProviderSvc, IDataManagerSvc, IPartitionControl >, and extend_interfaces4< IAppMgrUI, IEventProcessor, IService, IStateful >.

Definition at line 168 of file IInterface.h.

## 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 IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 218 of file IInterface.h.

    00218               {
    00220     SUCCESS = 1,
    00222     NO_INTERFACE,
    00224     VERSMISMATCH,
    00226     LAST_ERROR
    00227   };

## Constructor & Destructor Documentation

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

Virtual destructor.

Definition at line 230 of file IInterface.h.

    00230 {}

## Member Function Documentation

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

Return an instance of InterfaceID identifying the interface.

Definition at line 172 of file IInterface.h.

    00172                                                 {
    00173 #ifndef __GCCXML__
    00174     return iid::interfaceID();
    00175 #else
    00176     // GCCXML work-around
    00177     static InterfaceID xx(0UL,0UL,0UL);
    00178     return xx;
    00179 #endif
    00180   }

virtual void* IInterface::i_cast | ( | const std::type_info & |  | ) | const`[pure virtual]`

main cast function

Implemented in extends1< Service, ITHistSvc >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Algorithm, IPartitionControl >, extends1< Service, Gaudi::IIODataManager >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< AlgTool, IDataStreamTool >, extends1< Service, IRunable >, extends1< Service, IMessageSvc >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IParticlePropertySvc >, extends1< Auditor, IIncidentListener >, extends1< GaudiTool, IFuncMinimum >, extends1< Service, IPoolCacheSvc >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< AlgTool, IGslErrorHandler >, extends1< AlgTool, IFileAccess >, extends1< ComponentManager, IAlgManager >, extends1< Service, IChronoStatSvc >, extends1< AlgTool, IPartitionControl >, extends1< DataSvc, IAIDATupleSvc >, extends1< GaudiTool, IEqSolver >, and extends2< ComponentManager, ISvcManager, ISvcLocator >.

virtual std::vector<std::string> IInterface::getInterfaceNames | ( |  | ) | const`[pure virtual]`

Returns a vector of strings containing the names of all the implemented interfaces.

Implemented in extends1< Service, ITHistSvc >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Algorithm, IPartitionControl >, extends1< Service, Gaudi::IIODataManager >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< AlgTool, IDataStreamTool >, extends1< Service, IRunable >, extends1< Service, IMessageSvc >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IParticlePropertySvc >, extends1< Auditor, IIncidentListener >, extends1< GaudiTool, IFuncMinimum >, extends1< Service, IPoolCacheSvc >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< AlgTool, IGslErrorHandler >, extends1< AlgTool, IFileAccess >, extends1< ComponentManager, IAlgManager >, extends1< Service, IChronoStatSvc >, extends1< AlgTool, IPartitionControl >, extends1< DataSvc, IAIDATupleSvc >, extends1< GaudiTool, IEqSolver >, and extends2< ComponentManager, ISvcManager, ISvcLocator >.

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

Increment the reference count of Interface instance.

Implemented in IFactory.

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

Release Interface instance.

Implemented in IFactory.

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

Current reference count.

Implemented in IAlgTool.

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

Set the void** to the pointer to the requested interface of the instance.

Implemented in ComponentManager, PropertyMgr, DLLClassManager, ExceptionSvc, extends1< Service, ITHistSvc >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Algorithm, IPartitionControl >, extends1< Service, Gaudi::IIODataManager >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< AlgTool, IDataStreamTool >, extends1< Service, IRunable >, extends1< Service, IMessageSvc >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IParticlePropertySvc >, extends1< Auditor, IIncidentListener >, extends1< GaudiTool, IFuncMinimum >, extends1< Service, IPoolCacheSvc >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< AlgTool, IGslErrorHandler >, extends1< AlgTool, IFileAccess >, extends1< ComponentManager, IAlgManager >, extends1< Service, IChronoStatSvc >, extends1< AlgTool, IPartitionControl >, extends1< DataSvc, IAIDATupleSvc >, extends1< GaudiTool, IEqSolver >, and extends2< ComponentManager, ISvcManager, ISvcLocator >.

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

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