2 #include "GaudiKernel/Converter.h"
3 #include "GaudiKernel/INamedInterface.h"
4 #include "GaudiKernel/ISvcLocator.h"
5 #include "GaudiKernel/IMessageSvc.h"
6 #include "GaudiKernel/IDataManagerSvc.h"
7 #include "GaudiKernel/IDataProviderSvc.h"
8 #include "GaudiKernel/GaudiException.h"
9 #include "GaudiKernel/ServiceLocatorHelper.h"
10 #include "GaudiKernel/ThreadGaudi.h"
11 #include "GaudiKernel/ConversionSvc.h"
146 m_storageType(storage_type),
147 m_classType(class_type),
159 return helper.
getService(svcName, createIf, iid, ppSvc);
181 svc = helper.service(name,
false, createIf);
an helper to share the implementation of service() among the various kernel base classes ...
Converter(long storage_type, const CLID &class_type, ISvcLocator *svc=0)
Standard Constructor.
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.
SmartIF< IConversionSvc > & conversionSvc() const override
Get conversion service the converter is connected to.
Define general base for Gaudi exception.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
StatusCode setConversionSvc(IConversionSvc *svc) override
Set conversion service the converter is connected to.
StatusCode initialize() override
Initialize the converter.
IAddressCreator interface definition.
SmartIF< IMessageSvc > & msgSvc() const
Retrieve pointer to message service.
StatusCode updateRepRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Update the references of an already converted object.
StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject) override
Create the transient representation of an object.
Data provider interface definition.
virtual const std::string & name() const =0
Retrieve the name of the instance.
StatusCode finalize() override
Initialize the converter.
StatusCode updateRep(IOpaqueAddress *pAddress, DataObject *pObject) override
Update the converted representation of a transient object.
long m_storageType
Storage type.
StatusCode fillObjRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Resolve the references of the created transient object.
This class is used for returning status codes from appropriate routines.
SmartIF< IMessageSvc > & messageService() const
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.
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
const CLID m_classType
Class type the converter can handle.
StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress) override
Convert the transient object to the requested representation.
SmartIF< IMessageSvc > m_messageSvc
MessageSvc reference.
unsigned int CLID
Class ID definition.
StatusCode updateObjRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Update the references of an updated transient object.
SmartIF< ISvcLocator > & serviceLocator() const
Retrieve pointer to service locator.
SmartIF< IDataProviderSvc > & dataProvider() const override
Get Data provider service.
StatusCode setAddressCreator(IAddressCreator *creator) override
Set address creator facility.
virtual long i_repSvcType() const
Retrieve the class type of the data store the converter uses.
SmartIF< IDataManagerSvc > & dataManager() const
Get Data Manager service.
StatusCode setDataProvider(IDataProviderSvc *svc) override
Set Data provider service.
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
SmartIF< IAddressCreator > & addressCreator() const override
Retrieve address creator facility.
Opaque address interface definition.
SmartIF< IDataManagerSvc > m_dataManager
Pointer to data manager service.
StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Resolve the references of the converted object.
SmartIF< IAddressCreator > m_addressCreator
Pointer to the address creation service interface.
A DataObject is the base class of any identifiable object on any data store.
StatusCode getService(const std::string &name, bool createIf, const InterfaceID &iid, void **ppSvc) const
const CLID & objType() const override
Retrieve the class type of objects the converter produces.
StatusCode createService(const std::string &name, const InterfaceID &iid, void **ppSvc) const
StatusCode updateObj(IOpaqueAddress *pAddress, DataObject *refpObject) override
Update the transient object from the other representation.