|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 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 147 of file Converter.cpp.
00147 : 00148 m_storageType(storage_type), 00149 m_classType(class_type), 00150 m_svcLocator(svc) 00151 { 00152 }
| Converter::~Converter | ( | ) | [protected, virtual] |
| StatusCode Converter::initialize | ( | ) | [virtual] |
Initialize the converter.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.
Definition at line 67 of file Converter.cpp.
00067 { 00068 // Get a reference to the Message Service 00069 if ( !msgSvc().isValid() ) { 00070 return StatusCode::FAILURE; 00071 } 00072 return StatusCode::SUCCESS; 00073 }
| StatusCode Converter::finalize | ( | void | ) | [virtual] |
Initialize the converter.
Finalize the converter.
Implements IConverter.
Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.
Definition at line 76 of file Converter.cpp.
00076 { 00077 // release services 00078 m_messageSvc = 0; 00079 m_dataManager = 0; 00080 m_dataProvider = 0; 00081 m_conversionSvc = 0; 00082 m_addressCreator = 0; 00083 return StatusCode::SUCCESS; 00084 }
| StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc | ) | [virtual] |
Set Data provider service.
Set data provider service.
Implements IConverter.
Definition at line 87 of file Converter.cpp.
00087 { 00088 m_dataProvider = svc; 00089 m_dataManager = svc; 00090 return StatusCode::SUCCESS; 00091 }
| SmartIF< IDataProviderSvc > & Converter::dataProvider | ( | ) | const [virtual] |
Get Data provider service.
Get data provider service.
Implements IConverter.
Definition at line 94 of file Converter.cpp.
00094 { 00095 return m_dataProvider; 00096 }
| StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc | ) | [virtual] |
Set conversion service the converter is connected to.
Implements IConverter.
Definition at line 104 of file Converter.cpp.
00104 { 00105 m_conversionSvc = svc; 00106 return StatusCode::SUCCESS; 00107 }
| 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.
00110 { 00111 return m_conversionSvc; 00112 }
| StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator | ) | [virtual] |
Set address creator facility.
Implements IConverter.
Definition at line 115 of file Converter.cpp.
00115 { 00116 m_addressCreator = creator; 00117 return StatusCode::SUCCESS; 00118 }
| SmartIF< IAddressCreator > & Converter::addressCreator | ( | ) | const [virtual] |
Retrieve address creator facility.
Access the transient store.
Implements IConverter.
Definition at line 121 of file Converter.cpp.
00121 { 00122 return m_addressCreator; 00123 }
| 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.
00016 { 00017 return m_classType; 00018 }
| 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.
00021 { 00022 return m_storageType; 00023 }
| 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 26 of file Converter.cpp.
00026 { 00027 return StatusCode::SUCCESS; 00028 }
| 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 32 of file Converter.cpp.
00032 { 00033 return StatusCode::SUCCESS; 00034 }
| 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 37 of file Converter.cpp.
00037 { 00038 return StatusCode::SUCCESS; 00039 }
| 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 42 of file Converter.cpp.
00042 { 00043 return StatusCode::SUCCESS; 00044 }
| 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 47 of file Converter.cpp.
00047 { 00048 return StatusCode::SUCCESS; 00049 }
| 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 52 of file Converter.cpp.
00052 { 00053 return StatusCode::SUCCESS; 00054 }
| 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 57 of file Converter.cpp.
00057 { 00058 return StatusCode::SUCCESS; 00059 }
| 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 62 of file Converter.cpp.
00062 { 00063 return StatusCode::SUCCESS; 00064 }
| 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 182 of file Converter.cpp.
00182 { 00183 SmartIF<IService> cnvsvc(conversionSvc()); 00184 SmartIF<IService> svc; 00185 if (cnvsvc.isValid()) { 00186 const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); 00187 svc = helper.service(name, false, createIf); 00188 } 00189 return svc; 00190 }
| SmartIF< ISvcLocator > & Converter::serviceLocator | ( | ) | const [protected] |
Retrieve pointer to service locator.
--- Retrieve pointer to service locator
Definition at line 126 of file Converter.cpp.
00126 { 00127 return m_svcLocator; 00128 }
| SmartIF< IMessageSvc > & Converter::msgSvc | ( | ) | const [protected] |
Retrieve pointer to message service.
--- Retrieve pointer to message service
Definition at line 131 of file Converter.cpp.
00131 { 00132 if ( !m_messageSvc.isValid() ) { 00133 m_messageSvc = serviceLocator(); 00134 if( !m_messageSvc.isValid() ) { 00135 throw GaudiException("Service [MessageSvc] not found", "Converter", StatusCode::FAILURE); 00136 } 00137 } 00138 return m_messageSvc; 00139 }
| SmartIF< IMessageSvc > & Converter::messageService | ( | ) | const [protected] |
| SmartIF< IDataManagerSvc > & Converter::dataManager | ( | ) | const [protected] |
Get Data Manager service.
Get data manager service.
Definition at line 99 of file Converter.cpp.
00099 { 00100 return m_dataManager; 00101 }
| 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.
00160 { 00161 // Check for name of conversion service 00162 SmartIF<INamedInterface> cnvsvc(conversionSvc()); 00163 if (cnvsvc.isValid()) { 00164 const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); 00165 return helper.getService(svcName, createIf, iid, ppSvc); 00166 } 00167 return StatusCode::FAILURE; 00168 }
| 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.
00172 { 00173 // Check for name of conversion service 00174 SmartIF<IService> cnvsvc(conversionSvc()); 00175 if (cnvsvc.isValid()) { 00176 const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name()); 00177 return helper.createService(svcType, svcName, iid, ppSvc); 00178 } 00179 return StatusCode::FAILURE; 00180 }
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] |