| The Gaudi Framework v29r0 (ff2e7097)

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

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

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>`

Inherited by Gaudi::IFileCatalog`[virtual]`, Gaudi::IFileCatalogMgr`[virtual]`, Gaudi::IIODataManager`[virtual]`, Gaudi::ISignalMonitor`[virtual]`, IAccelerator`[virtual]`, IAddressCreator`[virtual]`, IAlgContextSvc`[virtual]`, IAlgExecStateSvc`[virtual]`, IAlgResourcePool`[virtual]`, IChronoSvc`[virtual]`, IClassManager`[virtual]`, IConverter`[virtual]`, ICounterSvc`[virtual]`, IDataManagerSvc`[virtual]`, IDataProviderSvc`[virtual]`, IDataSourceMgr`[virtual]`, IDetDataSvc`[virtual]`, IEventProcessor`[virtual]`, IEvtSelector`[virtual]`, IExceptionSvc`[virtual]`, IFileAccess`[virtual]`, IHiveWhiteBoard`[virtual]`, IInactiveMessageCounter`[virtual]`, IIncidentListener`[virtual]`, IIncidentSvc`[virtual]`, IInspector`[virtual]`, IJobOptionsSvc`[virtual]`, IMessageSvc`[virtual]`, IMonitorSvc`[virtual]`, INamedInterface`[virtual]`, IPartitionControl`[virtual]`, IPersistencySvc`[virtual]`, IPrecedenceSvc`[virtual]`, IProperty`[virtual]`, IPublishSvc`[virtual]`, IRndmEngine`[virtual]`, IRndmGen`[virtual]`, IRunable`[virtual]`, IScheduler`[virtual]`, IScheduler`[virtual]`, ISelectStatement`[virtual]`, ISerialize`[virtual]`, IStagerSvc`[virtual]`, IStateful`[virtual]`, IStatSvc`[virtual]`, ISvcLocator`[virtual]`, IThreadPoolSvc`[virtual]`, IToolSvc`[virtual]`, IUpdateableIF`[virtual]`, and IUpdateManagerSvc`[virtual]`.

## Public Types
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
using | iid = Gaudi::InterfaceId< IInterface, 0, 0 >
| Interface ID. More...
using | ext_iids = Gaudi::interface_list< iid >
| 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 ()=default
| Virtual destructor. More...

## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| 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 277 of file IInterface.h.

## Member Typedef Documentation

using IInterface::ext_iids = Gaudi::interface_list<iid>

Extra interfaces.

Definition at line 284 of file IInterface.h.

using IInterface::iid = Gaudi::InterfaceId<IInterface, 0, 0>

Interface ID.

Definition at line 281 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 331 of file IInterface.h.

331 {
333 SUCCESS = 1,
335 NO_INTERFACE,
337 VERSMISMATCH,
339 LAST_ERROR
340 };
IInterface::NO_INTERFACE
Requested interface is not available.
Definition: IInterface.h:335
IInterface::SUCCESS
Normal successful completion.
Definition: IInterface.h:333
IInterface::VERSMISMATCH
Requested interface version is incompatible.
Definition: IInterface.h:337
IInterface::LAST_ERROR
Last error.
Definition: IInterface.h:339

## Constructor & Destructor Documentation

virtual IInterface::~IInterface | ( |  | ) |
| virtual default

Virtual destructor.

## 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.

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

main cast function

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

Return an instance of InterfaceID identifying the interface.

Definition at line 287 of file IInterface.h.

287 { return iid::interfaceID(); }

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

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

virtual unsigned long IInterface::refCount | ( |  | ) | const
| pure virtual

Current reference count.

virtual unsigned long IInterface::release | ( |  | ) |
| pure virtual

Release Interface instance.

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

- GaudiKernel/GaudiKernel/IInterface.h