4 #include "GaudiKernel/Converter.h"
5 #include "GaudiKernel/INamedInterface.h"
6 #include "GaudiKernel/ISvcLocator.h"
7 #include "GaudiKernel/IMessageSvc.h"
8 #include "GaudiKernel/IDataManagerSvc.h"
9 #include "GaudiKernel/IDataProviderSvc.h"
10 #include "GaudiKernel/GaudiException.h"
11 #include "GaudiKernel/ServiceLocatorHelper.h"
12 #include "GaudiKernel/ThreadGaudi.h"
13 #include "GaudiKernel/ConversionSvc.h"
69 if ( !
msgSvc().isValid() ) {
148 m_storageType(storage_type),
149 m_classType(class_type),
165 return helper.
getService(svcName, createIf, iid, ppSvc);
187 svc = helper.service(name,
false, createIf);
virtual StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject)
Create the transient representation of an object.
an helper to share the implementation of service() among the various kernel base classes $Id: ...
Converter(long storage_type, const CLID &class_type, ISvcLocator *svc=0)
Standard Constructor.
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.
Define general base for Gaudi exception.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
virtual StatusCode fillObjRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Resolve the references of the created transient object.
virtual StatusCode finalize()
Initialize the converter.
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
virtual SmartIF< IConversionSvc > & conversionSvc() const
Get conversion service the converter is connected to.
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Convert the transient object to the requested representation.
virtual StatusCode initialize()
Initialize the converter.
IAddressCreator interface definition.
SmartIF< IMessageSvc > & msgSvc() const
Retrieve pointer to message service.
virtual StatusCode setDataProvider(IDataProviderSvc *svc)
Set Data provider service.
virtual StatusCode updateRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Update the references of an already converted object.
Data provider interface definition.
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Resolve the references of the converted object.
virtual const std::string & name() const =0
Retrieve the name of the instance.
Gaudi::InterfaceId< IInterface, 0, 0 > iid
Interface ID.
virtual ~Converter()
Standard Destructor.
long m_storageType
Storage type.
virtual const CLID & objType() const
Retrieve the class type of objects the converter produces.
virtual StatusCode updateObj(IOpaqueAddress *pAddress, DataObject *refpObject)
Update the transient object from the other representation.
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.
SmartIF< IMessageSvc > m_messageSvc
MessageSvc reference.
unsigned int CLID
Class ID definition.
virtual SmartIF< IDataProviderSvc > & dataProvider() const
Get Data provider service.
SmartIF< ISvcLocator > & serviceLocator() const
Retrieve pointer to service locator.
virtual long i_repSvcType() const
Retrieve the class type of the data store the converter uses.
bool isValid() const
Allow for check if smart pointer is valid.
SmartIF< IDataManagerSvc > & dataManager() const
Get Data Manager service.
virtual StatusCode updateObjRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Update the references of an updated transient object.
virtual StatusCode setConversionSvc(IConversionSvc *svc)
Set conversion service the converter is connected to.
virtual StatusCode updateRep(IOpaqueAddress *pAddress, DataObject *pObject)
Update the converted representation of a transient object.
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
Opaque address interface definition.
SmartIF< IDataManagerSvc > m_dataManager
Pointer to data manager service.
virtual StatusCode setAddressCreator(IAddressCreator *creator)
Set address creator facility.
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
StatusCode createService(const std::string &name, const InterfaceID &iid, void **ppSvc) const
virtual SmartIF< IAddressCreator > & addressCreator() const
Retrieve address creator facility.