| # Gaudi Framework, version v22r4 |

Home |  | Generated: Fri Sep 2 2011

Public Types | Public Member Functions | Static Public Member Functions

# IInterface Class Reference

Definition of the basic interface. More...

`#include <GaudiKernel/IInterface.h>`

Inheritance diagram for IInterface:
[legend]

List of all members.

## 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 InterfaceID &) 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.

## Detailed Description

Definition of the basic interface.

Author:
  Pere Mato
  Markus Frank
  Marco Clemencic

Definition at line 161 of file IInterface.h.

## Member Typedef Documentation

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

Extra interfaces.

Reimplemented in extend_interfaces1< IIoComponentMgr >, 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< IExceptionSvc >, 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< Gaudi::ISignalMonitor >, extend_interfaces1< IToolSvc >, extend_interfaces1< IPoolCacheSvc >, extend_interfaces1< IComponentManager >, extend_interfaces1< IRunable >, extend_interfaces1< IFuncMinimum >, extend_interfaces1< IGslSvc >, extend_interfaces1< ISvcLocator >, extend_interfaces1< IIncidentListener >, extend_interfaces1< IEqSolver >, extend_interfaces1< IRndmGen >, extend_interfaces1< IInterface >, extend_interfaces1< IHistogramSvc >, extend_interfaces1< IIncidentSvc >, extend_interfaces2< IAlgContextSvc, IIncidentListener >, extend_interfaces2< IAuditor, IProperty >, extend_interfaces2< IDataStoreLeaves, IIncidentListener >, extend_interfaces2< IDetDataSvc, IIncidentListener >, extend_interfaces2< IMonitorSvc, IIncidentListener >, extend_interfaces2< ISvcManager, ISvcLocator >, extend_interfaces2< IConversionSvc, IAddressCreator >, extend_interfaces2< IService, IAuditor >, extend_interfaces2< INTupleSvc, IDataSourceMgr >, extend_interfaces2< ICnvFactory, IPoolDbCnvFactory >, extend_interfaces2< IMessageSvc, IInactiveMessageCounter >, extend_interfaces2< IHistorySvc, IIncidentListener >, extend_interfaces2< IProperty, IJobOptionsSvc >, extend_interfaces2< IDataProviderSvc, IDataManagerSvc >, extend_interfaces3< IAlgTool, IProperty, IStateful >, extend_interfaces3< IDataProviderSvc, IDataManagerSvc, IPartitionControl >, extend_interfaces3< IRndmGenSvc, IRndmEngine, ISerialize >, extend_interfaces3< IConversionSvc, IPersistencySvc, IAddressCreator >, extend_interfaces3< IRndmEngine, ISerialize, IIncidentListener >, extend_interfaces3< IAlgorithm, IProperty, IStateful >, extend_interfaces3< ITHistSvc, IIncidentListener, IIoComponent >, extend_interfaces3< IService, IProperty, IStateful >, extend_interfaces3< IService, IChronoSvc, IStatSvc >, and extend_interfaces4< IAppMgrUI, IEventProcessor, IService, IStateful >.

Definition at line 168 of file IInterface.h.

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

Interface ID.

Definition at line 165 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.

                  {
        SUCCESS = 1,
        NO_INTERFACE,
        VERSMISMATCH,
        LAST_ERROR
      };

## Constructor & Destructor Documentation

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

Virtual destructor.

Definition at line 230 of file IInterface.h.

    {}

## Member Function Documentation

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

Increment the reference count of Interface instance.

Implemented in IFactory.

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, IIoComponentMgr >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, Gaudi::ISignalMonitor >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Algorithm, IPartitionControl >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< AlgTool, IDataStreamTool >, extends1< Service, IRunable >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IExceptionSvc >, 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 void* IInterface::i_cast | ( | const InterfaceID & | ) | const`[pure virtual]`

main cast function

Implemented in extends1< Service, IIoComponentMgr >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, Gaudi::ISignalMonitor >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Algorithm, IPartitionControl >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< AlgTool, IDataStreamTool >, extends1< Service, IRunable >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IExceptionSvc >, 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 >.

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

Return an instance of InterfaceID identifying the interface.

Definition at line 172 of file IInterface.h.

                                                    {
    #ifndef __GCCXML__
        return iid::interfaceID();
    #else
        // GCCXML work-around
        static InterfaceID xx(0UL,0UL,0UL);
        return xx;
    #endif
      }

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, extends1< Service, IIoComponentMgr >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, extends1< ConversionSvc, IPoolDbMgr >, extends1< Service, ICounterSvc >, extends1< Service, Gaudi::ISignalMonitor >, extends1< Service, IIncidentListener >, extends1< DataSvc, IHistogramSvc >, extends1< Service, IAuditorSvc >, extends1< Algorithm, IPartitionControl >, extends1< Service, IGslSvc >, extends1< Service, IPartPropSvc >, extends1< AlgTool, IDataStreamTool >, extends1< Service, IRunable >, extends1< Service, IEvtSelector >, extends1< Service, IFileAccess >, extends1< Service, IIssueLogger >, extends1< Service, IIncidentSvc >, extends1< Service, IExceptionSvc >, 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::refCount | ( | ) | const`[pure virtual]`

Current reference count.

Implemented in IAlgTool.

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

Release Interface instance.

Implemented in IFactory.

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

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines