| The Gaudi Framework v27r1

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

Inheritance diagram for IInterface:
[legend]

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

## Member Typedef Documentation

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

Extra interfaces.

Definition at line 240 of file IInterface.h.

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

Interface ID.

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

283 {
285 SUCCESS = 1,
287 NO_INTERFACE,
289 VERSMISMATCH,
291 LAST_ERROR
292 };
IInterface::NO_INTERFACE
Requested interface is not available.
Definition: IInterface.h:287
IInterface::SUCCESS
Normal successful completion.
Definition: IInterface.h:285
IInterface::VERSMISMATCH
Requested interface version is incompatible.
Definition: IInterface.h:289
IInterface::LAST_ERROR
Last error.
Definition: IInterface.h:291

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

243 {
244 return iid::interfaceID();
245 }

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