All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IFactory Class Referenceabstract

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

#include <GaudiKernel/IFactory.h>

Inheritance diagram for IFactory:
Collaboration diagram for IFactory:

Public Member Functions

 DeclareInterfaceID (IFactory, 2, 0)
 InterfaceID. More...
 
virtual IInterfaceinstantiate (IInterface *parent) const =0
 Instantiate an instance of a Gaudi class. More...
 
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. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual const std::string & ident () const =0
 
- Public Member Functions inherited from IInterface
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 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 ()
 Virtual destructor. More...
 

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. More...
 
typedef mpl::set1< iidext_iids
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

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  ,
,
 
)
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: