| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# Converter Class Reference

Converter base class. More...

`#include <GaudiKernel/Converter.h>`

Inheritance diagram for Converter:

[legend]
Collaboration diagram for Converter:

[legend]

List of all members.

## Public Member Functions
virtual StatusCode | initialize ()
| Initialize the converter.
virtual StatusCode | finalize ()
| Initialize the converter.
virtual StatusCode | setDataProvider (IDataProviderSvc *svc)
| Set Data provider service.
virtual SmartIF < IDataProviderSvc > & | dataProvider () const
| Get Data provider service.
virtual StatusCode | setConversionSvc (IConversionSvc *svc)
| Set conversion service the converter is connected to.
virtual SmartIF< IConversionSvc > & | conversionSvc () const
| Get conversion service the converter is connected to.
virtual StatusCode | setAddressCreator (IAddressCreator *creator)
| Set address creator facility.
virtual SmartIF < IAddressCreator > & | addressCreator () const
| Retrieve address creator facility.
virtual const CLID & | objType () const
| Retrieve the class type of objects the converter produces.
virtual long | i_repSvcType () const
| Retrieve the class type of the data store the converter uses.
virtual StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject)
| Create the transient representation of an object.
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Resolve the references of the created transient object.
virtual StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject)
| Update the transient object from the other representation.
virtual StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Update the references of an updated transient object.
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
| Convert the transient object to the requested representation.
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Resolve the references of the converted object.
virtual StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
| Update the converted representation of a transient object.
virtual StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Update the references of an already converted object.
| Converter (long storage_type, const CLID &class_type, ISvcLocator *svc=0)
| Standard Constructor.
template<class T>
StatusCode | service (const std::string &name, T *&psvc, bool createIf=false) const
| Access a service by name, creating it if it doesn't already exist.
template<class T>
StatusCode | service (const std::string &type, const std::string &name, T *&psvc) const
| Access a service by name, type creating it if it doesn't already exist.
SmartIF< IService > | service (const std::string &name, const bool createIf=true) const
| Return a pointer to the service identified by name (or "type/name").
## Protected Member Functions
virtual | ~Converter ()
| Standard Destructor.
SmartIF< ISvcLocator > & | serviceLocator () const
| Retrieve pointer to service locator.
SmartIF< IMessageSvc > & | msgSvc () const
| Retrieve pointer to message service.
SmartIF< IMessageSvc > & | messageService () const
SmartIF< IDataManagerSvc > & | dataManager () const
| Get Data Manager service.
## Private Member Functions
StatusCode | service_i (const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
| implementation of service method
StatusCode | service_i (const std::string &svcType, const std::string &svcName, const InterfaceID &iid, void **ppSvc) const
## Private Attributes
long | m_storageType
| Storage type.
const CLID | m_classType
| Class type the converter can handle.
SmartIF< IAddressCreator > | m_addressCreator
| Pointer to the address creation service interface.
SmartIF< IDataProviderSvc > | m_dataProvider
| Pointer to data provider service.
SmartIF< IDataManagerSvc > | m_dataManager
| Pointer to data manager service.
SmartIF< IConversionSvc > | m_conversionSvc
| Pointer to the connected conversion service.
SmartIF< ISvcLocator > | m_svcLocator
| Service Locator reference.
SmartIF< IMessageSvc > | m_messageSvc
| MessageSvc reference.

## Detailed Description

Converter base class.

See interface for detailed description, arguments and return values

Author:
  Markus Frank

Version:
  1.0

Definition at line 25 of file Converter.h.

## Constructor & Destructor Documentation

Converter::Converter | ( | long | storage_type,
|  | const CLID & | class_type,
|  | ISvcLocator * | svc = `0` |
| ) |  |  |

Standard Constructor.

Definition at line 146 of file Converter.cpp.

    00146                                                                                 :
    00147   m_storageType(storage_type),
    00148   m_classType(class_type),
    00149   m_svcLocator(svc)
    00150 {
    00151 }

Converter::~Converter | ( |  | ) | `[protected, virtual]`

Standard Destructor.

Definition at line 154 of file Converter.cpp.

    00154                       {
    00155 }

## Member Function Documentation

StatusCode Converter::initialize | ( |  | ) | `[virtual]`

Initialize the converter.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.

Definition at line 66 of file Converter.cpp.

    00066                                     {
    00067   // Get a reference to the Message Service
    00068   if ( !msgSvc().isValid() )   {
    00069     return StatusCode::FAILURE;
    00070   }
    00071   return StatusCode::SUCCESS;
    00072 }

StatusCode Converter::finalize | ( | void |  | ) | `[virtual]`

Initialize the converter.

Finalize the converter.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.

Definition at line 75 of file Converter.cpp.

    00075                                {
    00076   // release services
    00077   m_messageSvc = 0;
    00078   m_dataManager = 0;
    00079   m_dataProvider = 0;
    00080   m_conversionSvc = 0;
    00081   m_addressCreator = 0;
    00082   return StatusCode::SUCCESS;
    00083 }

StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc | ) | `[virtual]`

Set Data provider service.

Set data provider service.

Implements IConverter.

Definition at line 86 of file Converter.cpp.

    00086                                                            {
    00087   m_dataProvider = svc;
    00088   m_dataManager = svc;
    00089   return StatusCode::SUCCESS;
    00090 }

SmartIF< IDataProviderSvc > & Converter::dataProvider | ( |  | ) | const`[virtual]`

Get Data provider service.

Get data provider service.

Implements IConverter.

Definition at line 93 of file Converter.cpp.

    00093                                                              {
    00094   return m_dataProvider;
    00095 }

StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc | ) | `[virtual]`

Set conversion service the converter is connected to.

Implements IConverter.

Definition at line 103 of file Converter.cpp.

    00103                                                             {
    00104   m_conversionSvc = svc;
    00105   return StatusCode::SUCCESS;
    00106 }

SmartIF< IConversionSvc > & Converter::conversionSvc | ( |  | ) | const`[virtual]`

Get conversion service the converter is connected to.

Get data conversion service the converter is connected to.

Implements IConverter.

Definition at line 109 of file Converter.cpp.

    00109                                                             {
    00110   return m_conversionSvc;
    00111 }

StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator | ) | `[virtual]`

Set address creator facility.

Implements IConverter.

Definition at line 114 of file Converter.cpp.

    00114                                                                   {
    00115   m_addressCreator = creator;
    00116   return StatusCode::SUCCESS;
    00117 }

SmartIF< IAddressCreator > & Converter::addressCreator | ( |  | ) | const`[virtual]`

Retrieve address creator facility.

Access the transient store.

Implements IConverter.

Definition at line 120 of file Converter.cpp.

    00120                                                              {
    00121   return m_addressCreator;
    00122 }

const CLID & Converter::objType | ( |  | ) | const`[virtual]`

Retrieve the class type of objects the converter produces.

Implements IConverter.

Definition at line 15 of file Converter.cpp.

    00015                                         {
    00016   return m_classType;
    00017 }

long Converter::i_repSvcType | ( |  | ) | const`[virtual]`

Retrieve the class type of the data store the converter uses.

Definition at line 20 of file Converter.cpp.

    00020                                      {
    00021   return m_storageType;
    00022 }

StatusCode Converter::createObj | ( | IOpaqueAddress * | pAddress,
|  | DataObject *& | refpObject |
| ) |  |  | `[virtual]`

Create the transient representation of an object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDatabaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.

Definition at line 25 of file Converter.cpp.

    00025                                                                {
    00026   return StatusCode::SUCCESS;
    00027 }

StatusCode Converter::fillObjRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject |
| ) |  |  | `[virtual]`

Resolve the references of the created transient object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, and RootHistCnv::RDirectoryCnv.

Definition at line 31 of file Converter.cpp.

    00031                                                                  {
    00032   return StatusCode::SUCCESS;
    00033 }

StatusCode Converter::updateObj | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | refpObject |
| ) |  |  | `[virtual]`

Update the transient object from the other representation.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.

Definition at line 36 of file Converter.cpp.

    00036                                                               {
    00037   return StatusCode::SUCCESS;
    00038 }

StatusCode Converter::updateObjRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject |
| ) |  |  | `[virtual]`

Update the references of an updated transient object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbKeyedContainerCnv, and PoolDbNTupleCnv.

Definition at line 41 of file Converter.cpp.

    00041                                                                  {
    00042   return StatusCode::SUCCESS;
    00043 }

StatusCode Converter::createRep | ( | DataObject * | pObject,
|  | IOpaqueAddress *& | refpAddress |
| ) |  |  | `[virtual]`

Convert the transient object to the requested representation.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RConverter, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

Definition at line 46 of file Converter.cpp.

    00046                                                               {
    00047   return StatusCode::SUCCESS;
    00048 }

StatusCode Converter::fillRepRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject |
| ) |  |  | `[virtual]`

Resolve the references of the converted object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, and PoolDbNTupleCnv.

Definition at line 51 of file Converter.cpp.

    00051                                                                {
    00052   return StatusCode::SUCCESS;
    00053 }

StatusCode Converter::updateRep | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject |
| ) |  |  | `[virtual]`

Update the converted representation of a transient object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

Definition at line 56 of file Converter.cpp.

    00056                                                              {
    00057   return StatusCode::SUCCESS;
    00058 }

StatusCode Converter::updateRepRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject |
| ) |  |  | `[virtual]`

Update the references of an already converted object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, and PoolDbNTupleCnv.

Definition at line 61 of file Converter.cpp.

    00061                                                                    {
    00062   return StatusCode::SUCCESS;
    00063 }

template<class T>

StatusCode Converter::service | ( | const std::string & | name,
|  | T *& | psvc,
|  | bool | createIf = `false` |
| ) |  |  | const`[inline]`

Access a service by name, creating it if it doesn't already exist.

Definition at line 88 of file Converter.h.

    00088                                                                                      {
    00089     return service_i(name, createIf, T::interfaceID(), (void**)&psvc);
    00090   }

template<class T>

StatusCode Converter::service | ( | const std::string & | type,
|  | const std::string & | name,
|  | T *& | psvc |
| ) |  |  | const`[inline]`

Access a service by name, type creating it if it doesn't already exist.

Definition at line 94 of file Converter.h.

    00094                                                                                     {
    00095     return service_i(type, name, T::interfaceID(), (void**)&psvc);
    00096   }

SmartIF< IService > Converter::service | ( | const std::string & | name,
|  | const bool | createIf = `true` |
| ) |  |  | const

Return a pointer to the service identified by name (or "type/name").

Definition at line 181 of file Converter.cpp.

    00181                                                                                      {
    00182   SmartIF<IService> cnvsvc(conversionSvc());
    00183   SmartIF<IService> svc;
    00184   if (cnvsvc.isValid()) {
    00185     const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
    00186     svc = helper.service(name, false, createIf);
    00187   }
    00188   return svc;
    00189 }

SmartIF< ISvcLocator > & Converter::serviceLocator | ( |  | ) | const`[protected]`

Retrieve pointer to service locator.

--- Retrieve pointer to service locator

Definition at line 125 of file Converter.cpp.

    00125                                                            {
    00126   return m_svcLocator;
    00127 }

SmartIF< IMessageSvc > & Converter::msgSvc | ( |  | ) | const`[protected]`

Retrieve pointer to message service.

--- Retrieve pointer to message service

Definition at line 130 of file Converter.cpp.

    00130                                                  {
    00131   if ( !m_messageSvc.isValid() ) {
    00132     m_messageSvc = serviceLocator();
    00133     if( !m_messageSvc.isValid() ) {
    00134       throw GaudiException("Service [MessageSvc] not found", "Converter", StatusCode::FAILURE);
    00135     }
    00136   }
    00137   return m_messageSvc;
    00138 }

SmartIF< IMessageSvc > & Converter::messageService | ( |  | ) | const`[protected]`

Definition at line 141 of file Converter.cpp.

    00141                                                          {
    00142   return msgSvc();
    00143 }

SmartIF< IDataManagerSvc > & Converter::dataManager | ( |  | ) | const`[protected]`

Get Data Manager service.

Get data manager service.

Definition at line 98 of file Converter.cpp.

    00098                                                            {
    00099   return m_dataManager;
    00100 }

StatusCode Converter::service_i | ( | const std::string & | svcName,
|  | bool | createIf,
|  | const InterfaceID & | iid,
|  | void ** | ppSvc |
| ) |  |  | const`[private]`

implementation of service method

Definition at line 158 of file Converter.cpp.

    00159                                                                  {
    00160   // Check for name of conversion service
    00161   SmartIF<IService> cnvsvc(conversionSvc());
    00162   if (cnvsvc.isValid()) {
    00163     const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
    00164     return helper.getService(svcName, createIf, iid, ppSvc);
    00165   }
    00166   return StatusCode::FAILURE;
    00167 }

StatusCode Converter::service_i | ( | const std::string & | svcType,
|  | const std::string & | svcName,
|  | const InterfaceID & | iid,
|  | void ** | ppSvc |
| ) |  |  | const`[private]`

Definition at line 170 of file Converter.cpp.

    00171                                                                  {
    00172   // Check for name of conversion service
    00173   SmartIF<IService> cnvsvc(conversionSvc());
    00174   if (cnvsvc.isValid()) {
    00175     const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
    00176     return helper.createService(svcType, svcName, iid, ppSvc);
    00177   }
    00178   return StatusCode::FAILURE;
    00179 }

## Member Data Documentation

long Converter::m_storageType`[private]`

Storage type.

Definition at line 118 of file Converter.h.

const CLID Converter::m_classType`[private]`

Class type the converter can handle.

Definition at line 120 of file Converter.h.

SmartIF<IAddressCreator> Converter::m_addressCreator`[mutable, private]`

Pointer to the address creation service interface.

Definition at line 122 of file Converter.h.

SmartIF<IDataProviderSvc> Converter::m_dataProvider`[mutable, private]`

Pointer to data provider service.

Definition at line 124 of file Converter.h.

SmartIF<IDataManagerSvc> Converter::m_dataManager`[mutable, private]`

Pointer to data manager service.

Definition at line 126 of file Converter.h.

SmartIF<IConversionSvc> Converter::m_conversionSvc`[mutable, private]`

Pointer to the connected conversion service.

Definition at line 128 of file Converter.h.

SmartIF<ISvcLocator> Converter::m_svcLocator`[mutable, private]`

Service Locator reference.

Definition at line 130 of file Converter.h.

SmartIF<IMessageSvc> Converter::m_messageSvc`[mutable, private]`

MessageSvc reference.

Definition at line 132 of file Converter.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r7p1/GaudiKernel/GaudiKernel/Converter.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r7p1/GaudiKernel/src/Lib/Converter.cpp