The Gaudi Framework  master (37c0b60a)
IInterface Class Referenceabstract

#include <GaudiKernel/IInterface.h>

Inheritance diagram for IInterface:

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::stringgetInterfaceNames () 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 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 239 of file IInterface.h.

Member Typedef Documentation

◆ ext_iids

Extra interfaces.

Definition at line 245 of file IInterface.h.

◆ iid

Interface ID.

Definition at line 242 of file IInterface.h.

Member Enumeration Documentation

◆ Status

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

294  FAILURE = 0,
296  SUCCESS = 1,
298  NO_INTERFACE,
300  VERSMISMATCH,
302  LAST_ERROR
303  };

Constructor & Destructor Documentation

◆ ~IInterface()

virtual IInterface::~IInterface ( )
virtualdefault

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 ( )
inlinestatic

Return an instance of InterfaceID identifying the interface.

Definition at line 248 of file IInterface.h.

248 { 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:
GaudiPython.Bindings.FAILURE
FAILURE
Definition: Bindings.py:84
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:67
Gaudi::InterfaceId::interfaceID
static const InterfaceID & interfaceID()
Definition: IInterface.h:201
GaudiPython.Bindings.SUCCESS
SUCCESS
Definition: Bindings.py:83