Gaudi Framework, version v23r0 |
Home | Generated: Mon Jan 30 2012 |
#include <GaudiKernel/Converter.h>
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. |
Converter base class.
See interface for detailed description, arguments and return values
Definition at line 25 of file Converter.h.
Converter::Converter | ( | long | storage_type, |
const CLID & | class_type, | ||
ISvcLocator * | svc = 0 |
||
) |
Standard Constructor.
Definition at line 147 of file Converter.cpp.
: m_storageType(storage_type), m_classType(class_type), m_svcLocator(svc) { }
Converter::~Converter | ( | ) | [protected, virtual] |
SmartIF< IAddressCreator > & Converter::addressCreator | ( | ) | const [virtual] |
Retrieve address creator facility.
Access the transient store.
Implements IConverter.
Definition at line 121 of file Converter.cpp.
{ return m_addressCreator; }
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 110 of file Converter.cpp.
{ return m_conversionSvc; }
StatusCode Converter::createObj | ( | IOpaqueAddress * | pAddress, |
DataObject *& | refpObject | ||
) | [virtual] |
Create the transient representation of an object.
Implements IConverter.
Reimplemented in Gaudi::RootConverter, Gaudi::RootDatabaseCnv, Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.
Definition at line 26 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
StatusCode Converter::createRep | ( | DataObject * | pObject, |
IOpaqueAddress *& | refpAddress | ||
) | [virtual] |
Convert the transient object to the requested representation.
Implements IConverter.
Reimplemented in Gaudi::RootConverter, Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RConverter, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.
Definition at line 47 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
SmartIF< IDataManagerSvc > & Converter::dataManager | ( | ) | const [protected] |
Get Data Manager service.
Get data manager service.
Definition at line 99 of file Converter.cpp.
{ return m_dataManager; }
SmartIF< IDataProviderSvc > & Converter::dataProvider | ( | ) | const [virtual] |
Get Data provider service.
Get data provider service.
Implements IConverter.
Definition at line 94 of file Converter.cpp.
{ return m_dataProvider; }
StatusCode Converter::fillObjRefs | ( | IOpaqueAddress * | pAddress, |
DataObject * | pObject | ||
) | [virtual] |
Resolve the references of the created transient object.
Implements IConverter.
Reimplemented in Gaudi::RootConverter, Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, and RootHistCnv::RDirectoryCnv.
Definition at line 32 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
StatusCode Converter::fillRepRefs | ( | IOpaqueAddress * | pAddress, |
DataObject * | pObject | ||
) | [virtual] |
Resolve the references of the converted object.
Implements IConverter.
Reimplemented in Gaudi::RootConverter, Gaudi::RootDirectoryCnv, and Gaudi::RootNTupleCnv.
Definition at line 52 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
StatusCode Converter::finalize | ( | ) | [virtual] |
Initialize the converter.
Finalize the converter.
Implements IConverter.
Reimplemented in Gaudi::RootStatCnv, and RootHistCnv::RNTupleCnv.
Definition at line 76 of file Converter.cpp.
{ // release services m_messageSvc = 0; m_dataManager = 0; m_dataProvider = 0; m_conversionSvc = 0; m_addressCreator = 0; return StatusCode::SUCCESS; }
long Converter::i_repSvcType | ( | ) | const [virtual] |
Retrieve the class type of the data store the converter uses.
Definition at line 21 of file Converter.cpp.
{ return m_storageType; }
StatusCode Converter::initialize | ( | ) | [virtual] |
Initialize the converter.
Implements IConverter.
Reimplemented in Gaudi::RootStatCnv, and RootHistCnv::RNTupleCnv.
Definition at line 67 of file Converter.cpp.
{ // Get a reference to the Message Service if ( !msgSvc().isValid() ) { return StatusCode::FAILURE; } return StatusCode::SUCCESS; }
SmartIF< IMessageSvc > & Converter::messageService | ( | ) | const [protected] |
Definition at line 142 of file Converter.cpp.
{ return msgSvc(); }
SmartIF< IMessageSvc > & Converter::msgSvc | ( | ) | const [protected] |
Retrieve pointer to message service.
--- Retrieve pointer to message service
Definition at line 131 of file Converter.cpp.
{ if ( !m_messageSvc.isValid() ) { m_messageSvc = serviceLocator(); if( !m_messageSvc.isValid() ) { throw GaudiException("Service [MessageSvc] not found", "Converter", StatusCode::FAILURE); } } return m_messageSvc; }
const CLID & Converter::objType | ( | ) | const [virtual] |
Retrieve the class type of objects the converter produces.
Implements IConverter.
Definition at line 16 of file Converter.cpp.
{ return m_classType; }
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 182 of file Converter.cpp.
{ SmartIF<INamedInterface> cnvsvc(conversionSvc()); SmartIF<IService> svc; if (cnvsvc.isValid()) { const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); svc = helper.service(name, false, createIf); } return svc; }
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.
{ return service_i(name, createIf, T::interfaceID(), (void**)&psvc); }
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.
StatusCode Converter::service_i | ( | const std::string & | svcType, |
const std::string & | svcName, | ||
const InterfaceID & | iid, | ||
void ** | ppSvc | ||
) | const [private] |
Definition at line 171 of file Converter.cpp.
{ // Check for name of conversion service SmartIF<INamedInterface> cnvsvc(conversionSvc()); if (cnvsvc.isValid()) { const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); return helper.createService(svcType, svcName, iid, ppSvc); } return StatusCode::FAILURE; }
StatusCode Converter::service_i | ( | const std::string & | svcName, |
bool | createIf, | ||
const InterfaceID & | iid, | ||
void ** | ppSvc | ||
) | const [private] |
implementation of service method
Definition at line 159 of file Converter.cpp.
{ // Check for name of conversion service SmartIF<INamedInterface> cnvsvc(conversionSvc()); if (cnvsvc.isValid()) { const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); return helper.getService(svcName, createIf, iid, ppSvc); } return StatusCode::FAILURE; }
SmartIF< ISvcLocator > & Converter::serviceLocator | ( | ) | const [protected] |
Retrieve pointer to service locator.
--- Retrieve pointer to service locator
Definition at line 126 of file Converter.cpp.
{ return m_svcLocator; }
StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator ) | [virtual] |
Set address creator facility.
Implements IConverter.
Definition at line 115 of file Converter.cpp.
{ m_addressCreator = creator; return StatusCode::SUCCESS; }
StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc ) | [virtual] |
Set conversion service the converter is connected to.
Implements IConverter.
Definition at line 104 of file Converter.cpp.
{ m_conversionSvc = svc; return StatusCode::SUCCESS; }
StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc ) | [virtual] |
Set Data provider service.
Set data provider service.
Implements IConverter.
Definition at line 87 of file Converter.cpp.
{ m_dataProvider = svc; m_dataManager = svc; return StatusCode::SUCCESS; }
StatusCode Converter::updateObj | ( | IOpaqueAddress * | pAddress, |
DataObject * | refpObject | ||
) | [virtual] |
Update the transient object from the other representation.
Implements IConverter.
Reimplemented in Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.
Definition at line 37 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
StatusCode Converter::updateObjRefs | ( | IOpaqueAddress * | pAddress, |
DataObject * | pObject | ||
) | [virtual] |
Update the references of an updated transient object.
Implements IConverter.
Reimplemented in Gaudi::RootDirectoryCnv, and Gaudi::RootNTupleCnv.
Definition at line 42 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
StatusCode Converter::updateRep | ( | IOpaqueAddress * | pAddress, |
DataObject * | pObject | ||
) | [virtual] |
Update the converted representation of a transient object.
Implements IConverter.
Reimplemented in Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.
Definition at line 57 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
StatusCode Converter::updateRepRefs | ( | IOpaqueAddress * | pAddress, |
DataObject * | pObject | ||
) | [virtual] |
Update the references of an already converted object.
Implements IConverter.
Reimplemented in Gaudi::RootDirectoryCnv, and Gaudi::RootNTupleCnv.
Definition at line 62 of file Converter.cpp.
{ return StatusCode::SUCCESS; }
SmartIF<IAddressCreator> Converter::m_addressCreator [mutable, private] |
Pointer to the address creation service interface.
Definition at line 122 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<IConversionSvc> Converter::m_conversionSvc [mutable, private] |
Pointer to the connected conversion service.
Definition at line 128 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<IDataProviderSvc> Converter::m_dataProvider [mutable, private] |
Pointer to data provider service.
Definition at line 124 of file Converter.h.
SmartIF<IMessageSvc> Converter::m_messageSvc [mutable, private] |
MessageSvc reference.
Definition at line 132 of file Converter.h.
long Converter::m_storageType [private] |
Storage type.
Definition at line 118 of file Converter.h.
SmartIF<ISvcLocator> Converter::m_svcLocator [mutable, private] |
Service Locator reference.
Definition at line 130 of file Converter.h.