The Gaudi Framework
master (37c0b60a)
|
#include <GaudiKernel/Converter.h>
Public Types | |
using | Factory = Gaudi::PluginService::Factory< IConverter *(ISvcLocator *)> |
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... | |
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... | |
Protected Member Functions | |
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 legacy 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... | |
Converter base class. See interface for detailed description, arguments and return values
Definition at line 34 of file Converter.h.
using Converter::Factory = Gaudi::PluginService::Factory<IConverter*( ISvcLocator* )> |
Definition at line 36 of file Converter.h.
Converter::Converter | ( | long | storage_type, |
const CLID & | class_type, | ||
ISvcLocator * | svc = 0 |
||
) |
|
override |
Retrieve address creator facility.
Access the transient store.
Definition at line 99 of file Converter.cpp.
|
override |
Get conversion service the converter is connected to.
Get data conversion service the converter is connected to.
Definition at line 90 of file Converter.cpp.
|
override |
|
override |
Convert the transient object to the requested representation.
Definition at line 41 of file Converter.cpp.
|
protected |
|
override |
|
override |
Resolve the references of the created transient object.
Definition at line 32 of file Converter.cpp.
|
override |
|
override |
|
virtual |
Retrieve the class type of the data store the converter uses.
Definition at line 26 of file Converter.cpp.
|
override |
|
protected |
Retrieve pointer to message service.
— Retrieve pointer to message service
Definition at line 105 of file Converter.cpp.
|
override |
Retrieve the class type of objects the converter produces.
Definition at line 23 of file Converter.cpp.
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 139 of file Converter.cpp.
|
inline |
Access a service by name, creating it if it doesn't already exist.
Definition at line 99 of file Converter.h.
|
inline |
Access a service by name, type creating it if it doesn't already exist.
Definition at line 106 of file Converter.h.
|
private |
|
private |
Definition at line 128 of file Converter.cpp.
|
protected |
Retrieve pointer to service locator.
— Retrieve pointer to service locator
Definition at line 102 of file Converter.cpp.
|
override |
Set address creator facility.
Definition at line 93 of file Converter.cpp.
|
override |
Set conversion service the converter is connected to.
Definition at line 84 of file Converter.cpp.
|
override |
|
override |
Update the transient object from the other representation.
Definition at line 35 of file Converter.cpp.
|
override |
|
override |
Update the converted representation of a transient object.
Definition at line 47 of file Converter.cpp.
|
override |
|
mutableprivate |
Pointer to the address creation service interface.
Definition at line 127 of file Converter.h.
|
private |
Class type the converter can handle.
Definition at line 125 of file Converter.h.
|
mutableprivate |
Pointer to the connected conversion service.
Definition at line 133 of file Converter.h.
|
mutableprivate |
Pointer to data manager service.
Definition at line 131 of file Converter.h.
|
mutableprivate |
Pointer to data provider service.
Definition at line 129 of file Converter.h.
|
mutableprivate |
MessageSvc reference.
Definition at line 137 of file Converter.h.
|
private |
Storage type.
Definition at line 123 of file Converter.h.
|
mutableprivate |
Service Locator reference.
Definition at line 135 of file Converter.h.