| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | List of all members
IConversionSvc Class Referenceabstract

`#include <GaudiKernel/IConversionSvc.h>`

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

## Public Types
enum | Status : StatusCode::code_t { Status::INVALID_ADDRESS = static_cast<StatusCode::code_t>( IInterface::Status::LAST_ERROR ) + 1, Status::INVALID_OBJECT, Status::NO_MEMORY, Status::BAD_STORAGE_TYPE, Status::NO_SOURCE_OBJECT, Status::NO_CONVERTER }
| Status code definitions. More...
Public Types inherited from IInterface
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
| DeclareInterfaceID (IConversionSvc, 4, 0)
| InterfaceID. More...
virtual StatusCode | addConverter (IConverter *pConverter)=0
| Add converter object to conversion service. More...
virtual StatusCode | addConverter (const CLID &clid)=0
| Add converter object to conversion service. More...
virtual StatusCode | removeConverter (const CLID &clid)=0
| Remove converter object from conversion service (if present). More...
virtual IConverter * | converter (const CLID &clid)=0
| Retrieve converter from list. More...
virtual StatusCode | connectOutput (const std::string &outputFile)=0
| Connect the output file to the service. More...
virtual StatusCode | connectOutput (const std::string &outputFile, const std::string &openMode)=0
| Connect the output file to the service with open mode. More...
virtual StatusCode | commitOutput (const std::string &outputFile, bool do_commit)=0
| Commit pending output. More...
Public Member Functions inherited from IConverter
| DeclareInterfaceID (IConverter, 3, 0)
| InterfaceID. More...
virtual StatusCode | initialize ()=0
| Initialize the converter. More...
virtual StatusCode | finalize ()=0
| Terminate the converter. More...
virtual const CLID & | objType () const =0
| Retrieve the class type of objects the converter produces. More...
virtual long | repSvcType () const =0
| Retrieve the class type of the data store the converter uses. More...
virtual StatusCode | setDataProvider (IDataProviderSvc *pService)=0
| Set Data provider service. More...
virtual SmartIF< IDataProviderSvc > & | dataProvider () const =0
| Get Data provider service. More...
virtual StatusCode | setConversionSvc (IConversionSvc *pService)=0
| Set conversion service the converter is connected to. More...
virtual SmartIF< IConversionSvc > & | conversionSvc () const =0
| Get conversion service the converter is connected to. More...
virtual StatusCode | setAddressCreator (IAddressCreator *creator)=0
| Set address creator facility. More...
virtual SmartIF< IAddressCreator > & | addressCreator () const =0
| Get address creation interface needed to resolve links between objects. More...
virtual StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject)=0
| Create the transient representation of an object. More...
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)=0
| Resolve the references of the created transient object. More...
virtual StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject)=0
| Update the transient object from the other representation. More...
virtual StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)=0
| Update the references of an updated transient object. More...
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)=0
| Convert the transient object to the requested representation. More...
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)=0
| Resolve the references of the converted object. More...
virtual StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject)=0
| Update the converted representation of a transient object. More...
virtual StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)=0
| Update the references of an already converted object. More...
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 | 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...

## Additional Inherited Members
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface. More...

## Detailed Description

The conversion service interface allows to:

- Add, get and remove data converters from the service.
- Create objects using converters: e.g. create the transient representation of a persistent object.
- convert objects - the opposite of create: e.g. convert transient objects into the persistent representation of these objects. The objects to be converted are defined by a data selector object.
- update objects which already exist: e.g. update the existing persistent representation of objects which were read from the persistent store and should be modified. The objects to be converted are defined by a data selector object.
- Class specific aspects of the creation/update/conversion mechanism must be handled by the converters, the common aspects will be handled by the service.

Author
  Markus Frank

Version
  1.2

- Version 1.2 Remove createReps, updateReps - replaced by interface IConverter

Definition at line 37 of file IConversionSvc.h.

## Member Enumeration Documentation

## ◆ Status

enum IConversionSvc::Status : StatusCode::code_t
| strong

Status code definitions.

Enumerator
INVALID_ADDRESS | Invalid address information.
INVALID_OBJECT | Object to be converted is invalid.
NO_MEMORY | No more memory available.
BAD_STORAGE_TYPE | Invalid storage type.
NO_SOURCE_OBJECT | Error retrieving source data from source store.
NO_CONVERTER | No proper converter is available to the service.

Definition at line 92 of file IConversionSvc.h.

92 : StatusCode::code_t {
94 INVALID_ADDRESS = static_cast<StatusCode::code_t>( IInterface::Status::LAST_ERROR ) + 1,
96 INVALID_OBJECT,
98 NO_MEMORY,
100 BAD_STORAGE_TYPE,
102 NO_SOURCE_OBJECT,
104 NO_CONVERTER
105 };
IInterface::Status::LAST_ERROR
Last error.
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:52

## Member Function Documentation

## ◆ addConverter() [1/2]

virtual StatusCode IConversionSvc::addConverter | ( | IConverter * | pConverter | ) |
| pure virtual

Add converter object to conversion service.

Parameters

  pConverter | Pointer to converter object

Returns
  Status code indicating success or failure.

## ◆ addConverter() [2/2]

virtual StatusCode IConversionSvc::addConverter | ( | const CLID & | clid | ) |
| pure virtual

Add converter object to conversion service.

Parameters

  clid | Class ID of the converter needed

Returns
  Status code indicating success or failure.

## ◆ commitOutput()

virtual StatusCode IConversionSvc::commitOutput | ( | const std::string & | outputFile,
|  | bool | do_commit
| ) |  |
| pure virtual

Commit pending output.

Parameters

  outputFile | String containing output file
  do_commit | if true commit the output and flush eventually pending items to the database if false, discard pending buffers. Note: The possibility to commit or roll-back depends on the database technology used!

Returns
  Status code indicating success or failure.

## ◆ connectOutput() [1/2]

virtual StatusCode IConversionSvc::connectOutput | ( | const std::string & | outputFile | ) |
| pure virtual

Connect the output file to the service.

Parameters

  outputFile | String containing output file

Returns
  Status code indicating success or failure.

## ◆ connectOutput() [2/2]

virtual StatusCode IConversionSvc::connectOutput | ( | const std::string & | outputFile,
|  | const std::string & | openMode
| ) |  |
| pure virtual

Connect the output file to the service with open mode.

Parameters

  outputFile | String containing output file
  openMode | String containing opening mode of the output file

Returns
  Status code indicating success or failure.

## ◆ converter()

virtual IConverter* IConversionSvc::converter | ( | const CLID & | clid | ) |
| pure virtual

Retrieve converter from list.

Parameters

  clid | the clid of the converter

Returns
  the converter corresponding to clid or 0 if none was found

## ◆ DeclareInterfaceID()

IConversionSvc::DeclareInterfaceID | ( | IConversionSvc | ,
|  | 4 | ,
|  | 0 |
| ) |  |

InterfaceID.

## ◆ removeConverter()

virtual StatusCode IConversionSvc::removeConverter | ( | const CLID & | clid | ) |
| pure virtual

Remove converter object from conversion service (if present).

The converter is defined by the class type of the objects created.

Parameters

  clid | Class ID of the converter

Returns
  Status code indicating success or failure.

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

- GaudiKernel/GaudiKernel/IConversionSvc.h