| The Gaudi Framework v29r1 (5cd95fa2)

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

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

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Converter Class Reference

Converter base class. More...

`#include <GaudiKernel/Converter.h>`

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

## Public Types
typedef Gaudi::PluginService::Factory< IConverter *, ISvcLocator * > | Factory
Public Types inherited from implements< IConverter >
using | base_class = implements< Interfaces... >
| Typedef to this class. More...
using | extend_interfaces_base = extend_interfaces< Interfaces... >
| Typedef to the base of this class. More...
using | iids = typename extend_interfaces_base::ext_iids
Public Types inherited from extend_interfaces< Interfaces... >
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
| take union of the ext_iids of all Interfaces... More...

## Public Member Functions
StatusCode | initialize () override
| Initialize the converter. More...
StatusCode | finalize () override
| Initialize the converter. More...
StatusCode | setDataProvider (IDataProviderSvc *svc) override
| Set Data provider service. More...
SmartIF< IDataProviderSvc > & | dataProvider () const override
| Get Data provider service. More...
StatusCode | setConversionSvc (IConversionSvc *svc) override
| Set conversion service the converter is connected to. More...
SmartIF< IConversionSvc > & | conversionSvc () const override
| Get conversion service the converter is connected to. More...
StatusCode | setAddressCreator (IAddressCreator *creator) override
| Set address creator facility. More...
SmartIF< IAddressCreator > & | addressCreator () const override
| Retrieve address creator facility. More...
const CLID & | objType () const override
| Retrieve the class type of objects the converter produces. More...
virtual long | i_repSvcType () const
| Retrieve the class type of the data store the converter uses. More...
StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject) override
| Create the transient representation of an object. More...
StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) override
| Resolve the references of the created transient object. More...
StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject) override
| Update the transient object from the other representation. More...
StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) override
| Update the references of an updated transient object. More...
StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress) override
| Convert the transient object to the requested representation. More...
StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) override
| Resolve the references of the converted object. More...
StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject) override
| Update the converted representation of a transient object. More...
StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) override
| Update the references of an already converted object. More...
| Converter (long storage_type, const CLID &class_type, ISvcLocator *svc=0)
| Standard Constructor. More...
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. More...
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. More...
SmartIF< IService > | service (const std::string &name, const bool createIf=true) const
| Return a pointer to the service identified by name (or "type/name") More...
Public Member Functions inherited from implements< IConverter >
void * | i_cast (const InterfaceID &tid) const override
| Implementation of IInterface::i_cast. More...
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override
| Implementation of IInterface::queryInterface. More...
std::vector< std::string > | getInterfaceNames () const override
| Implementation of IInterface::getInterfaceNames. More...
| implements ()=default
| Default constructor. More...
| implements (const implements &)
| Copy constructor (zero the reference count) More...
implements & | operator= (const implements &)
| Assignment operator (do not touch the reference count). More...
| ~implements () override=default
| Virtual destructor. More...
unsigned long | addRef () override
| Reference Interface instance. More...
unsigned long | release () override
| Release Interface instance. More...
unsigned long | refCount () const override
| Current reference count. More...
Public Member Functions inherited from extend_interfaces< Interfaces... >
| ~extend_interfaces () override=default
| Virtual destructor. More...

## Protected Member Functions
| ~Converter () override=default
| Standard Destructor. More...
SmartIF< ISvcLocator > & | serviceLocator () const
| Retrieve pointer to service locator. More...
SmartIF< IMessageSvc > & | msgSvc () const
| Retrieve pointer to message service. More...
SmartIF< IDataManagerSvc > & | dataManager () const
| Get Data Manager service. More...

## Private Member Functions
StatusCode | service_i (const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
| implementation of service method More...
StatusCode | service_i (const std::string &svcType, const std::string &svcName, const InterfaceID &iid, void **ppSvc) const

## Private Attributes
long | m_storageType
| Storage type. More...
const CLID | m_classType
| Class type the converter can handle. More...
SmartIF< IAddressCreator > | m_addressCreator
| Pointer to the address creation service interface. More...
SmartIF< IDataProviderSvc > | m_dataProvider
| Pointer to data provider service. More...
SmartIF< IDataManagerSvc > | m_dataManager
| Pointer to data manager service. More...
SmartIF< IConversionSvc > | m_conversionSvc
| Pointer to the connected conversion service. More...
SmartIF< ISvcLocator > | m_svcLocator
| Service Locator reference. More...
SmartIF< IMessageSvc > | m_messageSvc
| MessageSvc reference. More...

## Additional Inherited Members
Protected Attributes inherited from implements< IConverter >
std::atomic_ulong | m_refCount
| Reference counter. More...

## Detailed Description

Converter base class.

See interface for detailed description, arguments and return values

Author
  Markus Frank

Version
  1.0

Definition at line 24 of file Converter.h.

## Member Typedef Documentation

typedef Gaudi::PluginService::Factory<IConverter*, ISvcLocator*> Converter::Factory

Definition at line 28 of file Converter.h.

## Constructor & Destructor Documentation

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

Standard Constructor.

Definition at line 115 of file Converter.cpp.

116 : m_storageType( storage_type ), m_classType( class_type ), m_svcLocator( svc )
117 {
118 }
Converter::m_svcLocator
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
Definition: Converter.h:131
Converter::m_storageType
long m_storageType
Storage type.
Definition: Converter.h:119
Converter::m_classType
const CLID m_classType
Class type the converter can handle.
Definition: Converter.h:121

Converter::~Converter | ( |  | ) |
| override protected default

Standard Destructor.

## Member Function Documentation

SmartIF< IAddressCreator > & Converter::addressCreator | ( |  | ) | const
| override

Retrieve address creator facility.

Access the transient store.

Definition at line 97 of file Converter.cpp.

97 { return m_addressCreator; }
Converter::m_addressCreator
SmartIF< IAddressCreator > m_addressCreator
Pointer to the address creation service interface.
Definition: Converter.h:123

SmartIF< IConversionSvc > & Converter::conversionSvc | ( |  | ) | const
| override

Get conversion service the converter is connected to.

Get data conversion service the converter is connected to.

Definition at line 87 of file Converter.cpp.

87 { return m_conversionSvc; }
Converter::m_conversionSvc
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
Definition: Converter.h:129

StatusCode Converter::createObj | ( | IOpaqueAddress * | pAddress,
|  | DataObject *& | refpObject
| ) |  |
| override

Create the transient representation of an object.

Definition at line 20 of file Converter.cpp.

20 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::createRep | ( | DataObject * | pObject,
|  | IOpaqueAddress *& | refpAddress
| ) |  |
| override

Convert the transient object to the requested representation.

Definition at line 32 of file Converter.cpp.

32 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

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

Get Data Manager service.

Get data manager service.

Definition at line 77 of file Converter.cpp.

77 { return m_dataManager; }
Converter::m_dataManager
SmartIF< IDataManagerSvc > m_dataManager
Pointer to data manager service.
Definition: Converter.h:127

SmartIF< IDataProviderSvc > & Converter::dataProvider | ( |  | ) | const
| override

Get Data provider service.

Get data provider service.

Definition at line 74 of file Converter.cpp.

74 { return m_dataProvider; }
Converter::m_dataProvider
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.
Definition: Converter.h:125

StatusCode Converter::fillObjRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| override

Resolve the references of the created transient object.

Definition at line 23 of file Converter.cpp.

23 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::fillRepRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| override

Resolve the references of the converted object.

Definition at line 35 of file Converter.cpp.

35 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::finalize | ( |  | ) |
| override

Initialize the converter.

Finalize the converter.

Definition at line 54 of file Converter.cpp.

55 {
56 // release services
57 m_messageSvc = nullptr;
58 m_dataManager = nullptr;
59 m_dataProvider = nullptr;
60 m_conversionSvc = nullptr;
61 m_addressCreator = nullptr;
62 return StatusCode::SUCCESS;
63 }
Converter::m_addressCreator
SmartIF< IAddressCreator > m_addressCreator
Pointer to the address creation service interface.
Definition: Converter.h:123
StatusCode::SUCCESS
Definition: StatusCode.h:31
Converter::m_dataManager
SmartIF< IDataManagerSvc > m_dataManager
Pointer to data manager service.
Definition: Converter.h:127
Converter::m_messageSvc
SmartIF< IMessageSvc > m_messageSvc
MessageSvc reference.
Definition: Converter.h:133
Converter::m_conversionSvc
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
Definition: Converter.h:129
Converter::m_dataProvider
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.
Definition: Converter.h:125

long Converter::i_repSvcType | ( |  | ) | const
| virtual

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

Definition at line 17 of file Converter.cpp.

17 { return m_storageType; }
Converter::m_storageType
long m_storageType
Storage type.
Definition: Converter.h:119

StatusCode Converter::initialize | ( |  | ) |
| override

Initialize the converter.

Definition at line 44 of file Converter.cpp.

45 {
46 // Get a reference to the Message Service
47 if ( !msgSvc() ) {
48 return StatusCode::FAILURE;
49 }
50 return StatusCode::SUCCESS;
51 }
StatusCode::SUCCESS
Definition: StatusCode.h:31
StatusCode::FAILURE
Definition: StatusCode.h:31
Converter::msgSvc
SmartIF< IMessageSvc > & msgSvc() const
Retrieve pointer to message service.
Definition: Converter.cpp:103

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

Retrieve pointer to message service.

— Retrieve pointer to message service

Definition at line 103 of file Converter.cpp.

104 {
105 if ( !m_messageSvc ) {
106 m_messageSvc = serviceLocator();
107 if ( !m_messageSvc ) {
108 throw GaudiException( "Service [MessageSvc] not found", "Converter", StatusCode::FAILURE );
109 }
110 }
111 return m_messageSvc;
112 }
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:22
StatusCode::FAILURE
Definition: StatusCode.h:31
Converter::m_messageSvc
SmartIF< IMessageSvc > m_messageSvc
MessageSvc reference.
Definition: Converter.h:133
Converter::serviceLocator
SmartIF< ISvcLocator > & serviceLocator() const
Retrieve pointer to service locator.
Definition: Converter.cpp:100

const CLID & Converter::objType | ( |  | ) | const
| override

Retrieve the class type of objects the converter produces.

Definition at line 14 of file Converter.cpp.

14 { return m_classType; }
Converter::m_classType
const CLID m_classType
Class type the converter can handle.
Definition: Converter.h:121
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 91 of file Converter.h.

92 {
93 return service_i( name, createIf, T::interfaceID(), (void**)&psvc );
94 }
Converter::service_i
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: Converter.cpp:120
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 98 of file Converter.h.

99 {
100 return service_i( type, name, T::interfaceID(), (void**)&psvc );
101 }
Converter::service_i
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: Converter.cpp:120

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 143 of file Converter.cpp.

144 {
145 SmartIF<INamedInterface> cnvsvc( conversionSvc() );
146 SmartIF<IService> svc;
147 if ( cnvsvc ) {
148 const ServiceLocatorHelper helper( *serviceLocator(), "Converter", cnvsvc->name() );
149 svc = helper.service( name, false, createIf );
150 }
151 return svc;
152 }
ServiceLocatorHelper
an helper to share the implementation of service() among the various kernel base classes ...
Definition: ServiceLocatorHelper.h:17
SmartIF< INamedInterface >
Converter::conversionSvc
SmartIF< IConversionSvc > & conversionSvc() const override
Get conversion service the converter is connected to.
Definition: Converter.cpp:87
Converter::serviceLocator
SmartIF< ISvcLocator > & serviceLocator() const
Retrieve pointer to service locator.
Definition: Converter.cpp:100

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

implementation of service method

Definition at line 120 of file Converter.cpp.

121 {
122 // Check for name of conversion service
123 SmartIF<INamedInterface> cnvsvc( conversionSvc() );
124 if ( cnvsvc ) {
125 const ServiceLocatorHelper helper( *serviceLocator(), "Converter", cnvsvc->name() );
126 return helper.getService( svcName, createIf, iid, ppSvc );
127 }
128 return StatusCode::FAILURE;
129 }
ServiceLocatorHelper
an helper to share the implementation of service() among the various kernel base classes ...
Definition: ServiceLocatorHelper.h:17
SmartIF< INamedInterface >
StatusCode::FAILURE
Definition: StatusCode.h:31
Converter::conversionSvc
SmartIF< IConversionSvc > & conversionSvc() const override
Get conversion service the converter is connected to.
Definition: Converter.cpp:87
Converter::serviceLocator
SmartIF< ISvcLocator > & serviceLocator() const
Retrieve pointer to service locator.
Definition: Converter.cpp:100
ServiceLocatorHelper::getService
StatusCode getService(const std::string &name, bool createIf, const InterfaceID &iid, void **ppSvc) const
Definition: ServiceLocatorHelper.h:50

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

Definition at line 131 of file Converter.cpp.

133 {
134 // Check for name of conversion service
135 SmartIF<INamedInterface> cnvsvc( conversionSvc() );
136 if ( cnvsvc ) {
137 const ServiceLocatorHelper helper( *serviceLocator(), "Converter", cnvsvc->name() );
138 return helper.createService( svcType, svcName, iid, ppSvc );
139 }
140 return StatusCode::FAILURE;
141 }
ServiceLocatorHelper
an helper to share the implementation of service() among the various kernel base classes ...
Definition: ServiceLocatorHelper.h:17
SmartIF< INamedInterface >
StatusCode::FAILURE
Definition: StatusCode.h:31
Converter::conversionSvc
SmartIF< IConversionSvc > & conversionSvc() const override
Get conversion service the converter is connected to.
Definition: Converter.cpp:87
Converter::serviceLocator
SmartIF< ISvcLocator > & serviceLocator() const
Retrieve pointer to service locator.
Definition: Converter.cpp:100
ServiceLocatorHelper::createService
StatusCode createService(const std::string &name, const InterfaceID &iid, void **ppSvc) const
Definition: ServiceLocatorHelper.cpp:31

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

Retrieve pointer to service locator.

— Retrieve pointer to service locator

Definition at line 100 of file Converter.cpp.

100 { return m_svcLocator; }
Converter::m_svcLocator
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
Definition: Converter.h:131

StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator | ) |
| override

Set address creator facility.

Definition at line 90 of file Converter.cpp.

91 {
92 m_addressCreator = creator;
93 return StatusCode::SUCCESS;
94 }
Converter::m_addressCreator
SmartIF< IAddressCreator > m_addressCreator
Pointer to the address creation service interface.
Definition: Converter.h:123
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc | ) |
| override

Set conversion service the converter is connected to.

Definition at line 80 of file Converter.cpp.

81 {
82 m_conversionSvc = svc;
83 return StatusCode::SUCCESS;
84 }
StatusCode::SUCCESS
Definition: StatusCode.h:31
Converter::m_conversionSvc
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
Definition: Converter.h:129

StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc | ) |
| override

Set Data provider service.

Set data provider service.

Definition at line 66 of file Converter.cpp.

67 {
68 m_dataProvider = svc;
69 m_dataManager = svc;
70 return StatusCode::SUCCESS;
71 }
StatusCode::SUCCESS
Definition: StatusCode.h:31
Converter::m_dataManager
SmartIF< IDataManagerSvc > m_dataManager
Pointer to data manager service.
Definition: Converter.h:127
Converter::m_dataProvider
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.
Definition: Converter.h:125

StatusCode Converter::updateObj | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | refpObject
| ) |  |
| override

Update the transient object from the other representation.

Definition at line 26 of file Converter.cpp.

26 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::updateObjRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| override

Update the references of an updated transient object.

Definition at line 29 of file Converter.cpp.

29 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::updateRep | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| override

Update the converted representation of a transient object.

Definition at line 38 of file Converter.cpp.

38 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

StatusCode Converter::updateRepRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| override

Update the references of an already converted object.

Definition at line 41 of file Converter.cpp.

41 { return StatusCode::SUCCESS; }
StatusCode::SUCCESS
Definition: StatusCode.h:31

## Member Data Documentation

SmartIF<IAddressCreator> Converter::m_addressCreator
| mutable private

Pointer to the address creation service interface.

Definition at line 123 of file Converter.h.

const CLID Converter::m_classType
| private

Class type the converter can handle.

Definition at line 121 of file Converter.h.

SmartIF<IConversionSvc> Converter::m_conversionSvc
| mutable private

Pointer to the connected conversion service.

Definition at line 129 of file Converter.h.

SmartIF<IDataManagerSvc> Converter::m_dataManager
| mutable private

Pointer to data manager service.

Definition at line 127 of file Converter.h.

SmartIF<IDataProviderSvc> Converter::m_dataProvider
| mutable private

Pointer to data provider service.

Definition at line 125 of file Converter.h.

SmartIF<IMessageSvc> Converter::m_messageSvc
| mutable private

MessageSvc reference.

Definition at line 133 of file Converter.h.

long Converter::m_storageType
| private

Storage type.

Definition at line 119 of file Converter.h.

SmartIF<ISvcLocator> Converter::m_svcLocator
| mutable private

Service Locator reference.

Definition at line 131 of file Converter.h.

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

- GaudiKernel/GaudiKernel/Converter.h
- GaudiKernel/src/Lib/Converter.cpp