|
Gaudi Framework, version v21r7 |
| Home | Generated: 22 Jan 2010 |
#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. | |
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 146 of file Converter.cpp.
00146 : 00147 m_storageType(storage_type), 00148 m_classType(class_type), 00149 m_svcLocator(svc) 00150 { 00151 }
| Converter::~Converter | ( | ) | [protected, virtual] |
| StatusCode Converter::initialize | ( | ) | [virtual] |
Initialize the converter.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.
Definition at line 66 of file Converter.cpp.
00066 { 00067 // Get a reference to the Message Service 00068 if ( !msgSvc().isValid() ) { 00069 return StatusCode::FAILURE; 00070 } 00071 return StatusCode::SUCCESS; 00072 }
| StatusCode Converter::finalize | ( | void | ) | [virtual] |
Initialize the converter.
Finalize the converter.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.
Definition at line 75 of file Converter.cpp.
00075 { 00076 // release services 00077 m_messageSvc = 0; 00078 m_dataManager = 0; 00079 m_dataProvider = 0; 00080 m_conversionSvc = 0; 00081 m_addressCreator = 0; 00082 return StatusCode::SUCCESS; 00083 }
| StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc | ) | [virtual] |
Set Data provider service.
Set data provider service.
Implements IConverter.
Definition at line 86 of file Converter.cpp.
00086 { 00087 m_dataProvider = svc; 00088 m_dataManager = svc; 00089 return StatusCode::SUCCESS; 00090 }
| SmartIF< IDataProviderSvc > & Converter::dataProvider | ( | ) | const [virtual] |
Get Data provider service.
Get data provider service.
Implements IConverter.
Definition at line 93 of file Converter.cpp.
00093 { 00094 return m_dataProvider; 00095 }
| StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc | ) | [virtual] |
Set conversion service the converter is connected to.
Implements IConverter.
Definition at line 103 of file Converter.cpp.
00103 { 00104 m_conversionSvc = svc; 00105 return StatusCode::SUCCESS; 00106 }
| 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 109 of file Converter.cpp.
00109 { 00110 return m_conversionSvc; 00111 }
| StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator | ) | [virtual] |
Set address creator facility.
Implements IConverter.
Definition at line 114 of file Converter.cpp.
00114 { 00115 m_addressCreator = creator; 00116 return StatusCode::SUCCESS; 00117 }
| SmartIF< IAddressCreator > & Converter::addressCreator | ( | ) | const [virtual] |
Retrieve address creator facility.
Access the transient store.
Implements IConverter.
Definition at line 120 of file Converter.cpp.
00120 { 00121 return m_addressCreator; 00122 }
| const CLID & Converter::objType | ( | ) | const [virtual] |
Retrieve the class type of objects the converter produces.
Implements IConverter.
Definition at line 15 of file Converter.cpp.
00015 { 00016 return m_classType; 00017 }
| long Converter::i_repSvcType | ( | ) | const [virtual] |
Retrieve the class type of the data store the converter uses.
Definition at line 20 of file Converter.cpp.
00020 { 00021 return m_storageType; 00022 }
| StatusCode Converter::createObj | ( | IOpaqueAddress * | pAddress, | |
| DataObject *& | refpObject | |||
| ) | [virtual] |
Create the transient representation of an object.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDatabaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.
Definition at line 25 of file Converter.cpp.
00025 { 00026 return StatusCode::SUCCESS; 00027 }
| StatusCode Converter::fillObjRefs | ( | IOpaqueAddress * | pAddress, | |
| DataObject * | pObject | |||
| ) | [virtual] |
Resolve the references of the created transient object.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, and RootHistCnv::RDirectoryCnv.
Definition at line 31 of file Converter.cpp.
00031 { 00032 return StatusCode::SUCCESS; 00033 }
| StatusCode Converter::updateObj | ( | IOpaqueAddress * | pAddress, | |
| DataObject * | refpObject | |||
| ) | [virtual] |
Update the transient object from the other representation.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.
Definition at line 36 of file Converter.cpp.
00036 { 00037 return StatusCode::SUCCESS; 00038 }
| StatusCode Converter::updateObjRefs | ( | IOpaqueAddress * | pAddress, | |
| DataObject * | pObject | |||
| ) | [virtual] |
Update the references of an updated transient object.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbKeyedContainerCnv, and PoolDbNTupleCnv.
Definition at line 41 of file Converter.cpp.
00041 { 00042 return StatusCode::SUCCESS; 00043 }
| StatusCode Converter::createRep | ( | DataObject * | pObject, | |
| IOpaqueAddress *& | refpAddress | |||
| ) | [virtual] |
Convert the transient object to the requested representation.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RConverter, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.
Definition at line 46 of file Converter.cpp.
00046 { 00047 return StatusCode::SUCCESS; 00048 }
| StatusCode Converter::fillRepRefs | ( | IOpaqueAddress * | pAddress, | |
| DataObject * | pObject | |||
| ) | [virtual] |
Resolve the references of the converted object.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, and PoolDbNTupleCnv.
Definition at line 51 of file Converter.cpp.
00051 { 00052 return StatusCode::SUCCESS; 00053 }
| StatusCode Converter::updateRep | ( | IOpaqueAddress * | pAddress, | |
| DataObject * | pObject | |||
| ) | [virtual] |
Update the converted representation of a transient object.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.
Definition at line 56 of file Converter.cpp.
00056 { 00057 return StatusCode::SUCCESS; 00058 }
| StatusCode Converter::updateRepRefs | ( | IOpaqueAddress * | pAddress, | |
| DataObject * | pObject | |||
| ) | [virtual] |
Update the references of an already converted object.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, and PoolDbNTupleCnv.
Definition at line 61 of file Converter.cpp.
00061 { 00062 return StatusCode::SUCCESS; 00063 }
| 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.
| 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.
| 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 181 of file Converter.cpp.
00181 { 00182 SmartIF<IService> cnvsvc(conversionSvc()); 00183 SmartIF<IService> svc; 00184 if (cnvsvc.isValid()) { 00185 const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); 00186 svc = helper.service(name, false, createIf); 00187 } 00188 return svc; 00189 }
| SmartIF< ISvcLocator > & Converter::serviceLocator | ( | ) | const [protected] |
Retrieve pointer to service locator.
--- Retrieve pointer to service locator
Definition at line 125 of file Converter.cpp.
00125 { 00126 return m_svcLocator; 00127 }
| SmartIF< IMessageSvc > & Converter::msgSvc | ( | ) | const [protected] |
Retrieve pointer to message service.
--- Retrieve pointer to message service
Definition at line 130 of file Converter.cpp.
00130 { 00131 if ( !m_messageSvc.isValid() ) { 00132 m_messageSvc = serviceLocator(); 00133 if( !m_messageSvc.isValid() ) { 00134 throw GaudiException("Service [MessageSvc] not found", "Converter", StatusCode::FAILURE); 00135 } 00136 } 00137 return m_messageSvc; 00138 }
| SmartIF< IMessageSvc > & Converter::messageService | ( | ) | const [protected] |
| SmartIF< IDataManagerSvc > & Converter::dataManager | ( | ) | const [protected] |
Get Data Manager service.
Get data manager service.
Definition at line 98 of file Converter.cpp.
00098 { 00099 return m_dataManager; 00100 }
| StatusCode Converter::service_i | ( | const std::string & | svcName, | |
| bool | createIf, | |||
| const InterfaceID & | iid, | |||
| void ** | ppSvc | |||
| ) | const [private] |
implementation of service method
Definition at line 158 of file Converter.cpp.
00159 { 00160 // Check for name of conversion service 00161 SmartIF<IService> cnvsvc(conversionSvc()); 00162 if (cnvsvc.isValid()) { 00163 const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); 00164 return helper.getService(svcName, createIf, iid, ppSvc); 00165 } 00166 return StatusCode::FAILURE; 00167 }
| StatusCode Converter::service_i | ( | const std::string & | svcType, | |
| const std::string & | svcName, | |||
| const InterfaceID & | iid, | |||
| void ** | ppSvc | |||
| ) | const [private] |
Definition at line 170 of file Converter.cpp.
00171 { 00172 // Check for name of conversion service 00173 SmartIF<IService> cnvsvc(conversionSvc()); 00174 if (cnvsvc.isValid()) { 00175 const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); 00176 return helper.createService(svcType, svcName, iid, ppSvc); 00177 } 00178 return StatusCode::FAILURE; 00179 }
long Converter::m_storageType [private] |
const CLID Converter::m_classType [private] |
SmartIF<IAddressCreator> Converter::m_addressCreator [mutable, private] |
SmartIF<IDataProviderSvc> Converter::m_dataProvider [mutable, private] |
SmartIF<IDataManagerSvc> Converter::m_dataManager [mutable, private] |
SmartIF<IConversionSvc> Converter::m_conversionSvc [mutable, private] |
SmartIF<ISvcLocator> Converter::m_svcLocator [mutable, private] |
SmartIF<IMessageSvc> Converter::m_messageSvc [mutable, private] |