| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
IFactory Class Referenceabstract

The IFactory is the interface used to create contrete instances of Objectes. More...

`#include <GaudiKernel/IFactory.h>`

Inheritance diagram for IFactory:
[legend]
Collaboration diagram for IFactory:
[legend]

## Public Member Functions
| DeclareInterfaceID (IFactory, 2, 0)
| InterfaceID.
virtual IInterface * | instantiate (IInterface *parent) const =0
| Instantiate an instance of a Gaudi class.
virtual unsigned long | addRef () const =0
virtual unsigned long | release () const =0
virtual unsigned long | addRef ()=0
| Re-declaring these here avoids a compiler warning about hidden functions.
virtual unsigned long | release ()=0
| Release Interface instance.
virtual const std::string & | ident () const =0
Public Member Functions inherited from IInterface
virtual void * | i_cast (const InterfaceID &) const =0
| main cast function
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces.
virtual unsigned long | refCount () const =0
| Current reference count.
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance.
virtual | ~IInterface ()
| Virtual destructor.

## Additional Inherited Members
Public Types inherited from IInterface
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid
| Interface ID.
typedef mpl::set1< iid > | ext_iids
| Extra interfaces.
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface.

## Detailed Description

The IFactory is the interface used to create contrete instances of Objectes.

It can be used to create Services, Algorithms, Converters, ...

Author
  Pere Mato

Definition at line 17 of file IFactory.h.

## Member Function Documentation

virtual unsigned long IFactory::addRef | ( |  | ) | const
| pure virtual

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

Re-declaring these here avoids a compiler warning about hidden functions.

Refer to ARM Page 210. Increment the reference count of Interface instance

Implements IInterface.

IFactory::DeclareInterfaceID | ( | IFactory | ,
|  | 2 | ,
|  | 0 |
| ) |  |

InterfaceID.

virtual const std::string& IFactory::ident | ( |  | ) | const
| pure virtual

virtual IInterface* IFactory::instantiate | ( | IInterface * | parent | ) | const
| pure virtual

Instantiate an instance of a Gaudi class.

virtual unsigned long IFactory::release | ( |  | ) | const
| pure virtual

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

Release Interface instance.

Implements IInterface.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/GaudiKernel/IFactory.h