All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IInterface Class Referenceabstract

Definition of the basic interface. More...

#include <GaudiKernel/IInterface.h>

Inheritance diagram for IInterface:

Public Types

enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
typedef Gaudi::InterfaceId
< IInterface, 0, 0 > 
iid
 Interface ID. More...
 
typedef mpl::set1< iidext_iids
 Extra interfaces. More...
 

Public Member Functions

virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::string > getInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()
 Virtual destructor. More...
 

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

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.

Interface ID.

Definition at line 164 of file IInterface.h.

Member Enumeration Documentation

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.

217  {
219  SUCCESS = 1,
221  NO_INTERFACE,
223  VERSMISMATCH,
225  LAST_ERROR
226  };
Requested interface is not available.
Definition: IInterface.h:221
Normal successful completion.
Definition: IInterface.h:219
Requested interface version is incompatible.
Definition: IInterface.h:223

Constructor & Destructor Documentation

virtual IInterface::~IInterface ( )
inlinevirtual

Virtual destructor.

Definition at line 229 of file IInterface.h.

229 {}

Member Function Documentation

virtual unsigned long IInterface::addRef ( )
pure virtual

Increment the reference count of Interface instance.

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 extends3< Service, ITHistSvc, IIncidentListener, IIoComponent >, extends3< Service, IDataProviderSvc, IDataManagerSvc, IPartitionControl >, extends3< Service, IConversionSvc, IPersistencySvc, IAddressCreator >, extends3< Service, IRndmGenSvc, IRndmEngine, ISerialize >, extends3< Service, IRndmEngine, ISerialize, IIncidentListener >, extends2< Service, IChronoStatSvc, IIncidentListener >, extends2< AlgTool, IDODAlgMapper, IDODNodeMapper >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, extends2< Service, IIoComponentMgr, IIncidentListener >, extends2< Service, IFileCatalog, IFileCatalogMgr >, extends2< Service, IAlgContextSvc, IIncidentListener >, extends2< Service, IProperty, IJobOptionsSvc >, extends2< Service, IHistorySvc, IIncidentListener >, extends2< Service, IMessageSvc, IInactiveMessageCounter >, extends2< ComponentManager, ISvcManager, ISvcLocator >, extends2< Service, IConversionSvc, IAddressCreator >, extends2< Service, IDataProviderSvc, IDataManagerSvc >, extends2< AlgTool, IDataStoreLeaves, IIncidentListener >, extends2< Service, IFileMgr, IIncidentListener >, extends2< DataSvc, INTupleSvc, IDataSourceMgr >, 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, IIODataManager >, 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 extends3< Service, ITHistSvc, IIncidentListener, IIoComponent >, extends3< Service, IDataProviderSvc, IDataManagerSvc, IPartitionControl >, extends3< Service, IConversionSvc, IPersistencySvc, IAddressCreator >, extends3< Service, IRndmGenSvc, IRndmEngine, ISerialize >, extends3< Service, IRndmEngine, ISerialize, IIncidentListener >, extends2< Service, IChronoStatSvc, IIncidentListener >, extends2< AlgTool, IDODAlgMapper, IDODNodeMapper >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, extends2< Service, IIoComponentMgr, IIncidentListener >, extends2< Service, IFileCatalog, IFileCatalogMgr >, extends2< Service, IAlgContextSvc, IIncidentListener >, extends2< Service, IProperty, IJobOptionsSvc >, extends2< Service, IHistorySvc, IIncidentListener >, extends2< Service, IMessageSvc, IInactiveMessageCounter >, extends2< ComponentManager, ISvcManager, ISvcLocator >, extends2< Service, IConversionSvc, IAddressCreator >, extends2< Service, IDataProviderSvc, IDataManagerSvc >, extends2< AlgTool, IDataStoreLeaves, IIncidentListener >, extends2< Service, IFileMgr, IIncidentListener >, extends2< DataSvc, INTupleSvc, IDataSourceMgr >, 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, IIODataManager >, 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 ( )
inlinestatic

Return an instance of InterfaceID identifying the interface.

Definition at line 171 of file IInterface.h.

171  {
172 #ifndef __GCCXML__
173  return iid::interfaceID();
174 #else
175  // GCCXML work-around
176  static InterfaceID xx(0UL,0UL,0UL);
177  return xx;
178 #endif
179  }
Interface ID class.
Definition: IInterface.h:55
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 extends3< Service, ITHistSvc, IIncidentListener, IIoComponent >, extends3< Service, IDataProviderSvc, IDataManagerSvc, IPartitionControl >, extends3< Service, IConversionSvc, IPersistencySvc, IAddressCreator >, extends3< Service, IRndmGenSvc, IRndmEngine, ISerialize >, extends3< Service, IRndmEngine, ISerialize, IIncidentListener >, PropertyMgr, extends2< Service, IChronoStatSvc, IIncidentListener >, extends2< AlgTool, IDODAlgMapper, IDODNodeMapper >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, extends2< Service, IIoComponentMgr, IIncidentListener >, extends2< Service, IFileCatalog, IFileCatalogMgr >, extends2< Service, IAlgContextSvc, IIncidentListener >, extends2< Service, IProperty, IJobOptionsSvc >, extends2< Service, IHistorySvc, IIncidentListener >, extends2< Service, IMessageSvc, IInactiveMessageCounter >, extends2< ComponentManager, ISvcManager, ISvcLocator >, extends2< Service, IConversionSvc, IAddressCreator >, extends2< Service, IDataProviderSvc, IDataManagerSvc >, extends2< AlgTool, IDataStoreLeaves, IIncidentListener >, extends2< Service, IFileMgr, IIncidentListener >, extends2< DataSvc, INTupleSvc, IDataSourceMgr >, ApplicationMgr, AlgTool, 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, IIODataManager >, 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 GaudiCommon< Algorithm >, GaudiCommon< AlgTool >, and Service.


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