| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IFactory Class Reference

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]
List of all members.

Public Types

 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...

Public Member Functions

virtual IInterfaceinstantiate (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
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)=0
 Query interfaces of Interface.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.

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 21 of file IFactory.h.


Member Enumeration Documentation

enum IInterface::Status [inherited]

Return status.

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

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };


Member Function Documentation

static const InterfaceID& IFactory::interfaceID (  )  [inline, static]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 24 of file IFactory.h.

00024 { return IID_IFactory; }

virtual IInterface* IFactory::instantiate ( IInterface parent  )  const [pure virtual]

Instantiate an instance of a Gaudi class.

virtual unsigned long IFactory::addRef (  )  const [pure virtual]

virtual unsigned long IFactory::release (  )  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.

virtual unsigned long IFactory::release (  )  [pure virtual]

Release Interface instance.

Implements IInterface.

virtual const std::string& IFactory::ident (  )  const [pure virtual]

virtual StatusCode IInterface::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [pure virtual, inherited]

Query interfaces of Interface.

Parameters:
riid ID of Interface to be retrieved
ppvInterface Pointer to Location for interface pointer

Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:09 2011 for GaudiKernel by doxygen 1.4.7