| The Gaudi Framework v32r1 (f65d50dc)

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 : StatusCode::code_t { Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH, Status::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 244 of file IInterface.h.

## Member Typedef Documentation

## ◆ ext_iids

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

Extra interfaces.

Definition at line 250 of file IInterface.h.

## ◆ iid

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

Interface ID.

Definition at line 247 of file IInterface.h.

## Member Enumeration Documentation

## ◆ Status

enum IInterface::Status : StatusCode::code_t
| strong

Return status.

Enumerator
FAILURE | Failure.
SUCCESS | Normal successful completion.
NO_INTERFACE | Requested interface is not available.
VERSMISMATCH | Requested interface version is incompatible.
LAST_ERROR | Last error.

Definition at line 297 of file IInterface.h.

297 : StatusCode::code_t {
299 FAILURE = 0,
301 SUCCESS = 1,
303 NO_INTERFACE,
305 VERSMISMATCH,
307 LAST_ERROR
308 };
GaudiPython.Bindings.SUCCESS
SUCCESS
Definition: Bindings.py:56
GaudiPython.Bindings.FAILURE
FAILURE
Definition: Bindings.py:57
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:52

## Constructor & Destructor Documentation

## ◆ ~IInterface()

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

Virtual destructor.

## Member Function Documentation

## ◆ addRef()

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

Increment the reference count of Interface instance.

## ◆ getInterfaceNames()

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

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

## ◆ i_cast()

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

main cast function

## ◆ interfaceID()

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

Return an instance of InterfaceID identifying the interface.

Definition at line 253 of file IInterface.h.

253 { return iid::interfaceID(); }

## ◆ queryInterface()

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

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

## ◆ refCount()

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

Current reference count.

## ◆ release()

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