| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
IInterface Class Referenceabstract

Definition of the basic interface. More...

`#include <GaudiKernel/IInterface.h>`

Inheritance diagram for IInterface:
[legend]

## 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 160 of file IInterface.h.

## Member Typedef Documentation

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

Extra interfaces.

Definition at line 167 of file IInterface.h.

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

Interface ID.

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

Definition at line 217 of file IInterface.h.

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

## Constructor & Destructor Documentation

virtual IInterface::~IInterface | ( |  | ) |
| inline virtual

Virtual destructor.

Definition at line 229 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 extends2< ComponentManager, ISvcManager, ISvcLocator >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, 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, IParticlePropertySvc >, extends1< Service, IExceptionSvc >, extends1< Auditor, IIncidentListener >, extends1< GaudiTool, IFuncMinimum >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< AlgTool, IGslErrorHandler >, extends1< AlgTool, IFileAccess >, extends1< ComponentManager, IAlgManager >, extends1< AlgTool, IPartitionControl >, and extends1< GaudiTool, IEqSolver >.

virtual void* IInterface::i_cast | ( | const InterfaceID & |  | ) | const
| pure virtual

main cast function

Implemented in extends2< ComponentManager, ISvcManager, ISvcLocator >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, 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, IParticlePropertySvc >, extends1< Service, IExceptionSvc >, extends1< Auditor, IIncidentListener >, extends1< GaudiTool, IFuncMinimum >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< AlgTool, IGslErrorHandler >, extends1< AlgTool, IFileAccess >, extends1< ComponentManager, IAlgManager >, extends1< AlgTool, IPartitionControl >, and extends1< GaudiTool, IEqSolver >.

static const InterfaceID& IInterface::interfaceID | ( |  | ) |
| inline static

Return an instance of InterfaceID identifying the interface.

Definition at line 171 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 PropertyMgr, extends2< ComponentManager, ISvcManager, ISvcLocator >, extends1< DataSvc, IIncidentListener >, extends1< Service, IToolSvc >, 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, IParticlePropertySvc >, extends1< Service, IExceptionSvc >, extends1< Auditor, IIncidentListener >, extends1< GaudiTool, IFuncMinimum >, extends1< Service, IStatusCodeSvc >, extends1< Service, IEventProcessor >, extends1< AlgTool, IGslErrorHandler >, extends1< AlgTool, IFileAccess >, extends1< ComponentManager, IAlgManager >, extends1< AlgTool, IPartitionControl >, extends1< GaudiTool, IEqSolver >, DLLClassManager, and ComponentManager.

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_v25r0/GaudiKernel/GaudiKernel/IInterface.h