20#include "GaudiKernel/GenericAddress.h"
21#include "GaudiKernel/IRegistry.h"
22#include "Gaudi/Property.h"
37 ISvcLocator* pSvcLocator ) :
38 base_class( name, pSvcLocator,
pool::ROOT_StorageType.
type() )
72 return dynamic_cast<GenericAddress*
>(pAddress)
74 : StatusCode::FAILURE;
76 return StatusCode::FAILURE;
86 ATH_MSG_DEBUG(
"-->createObj(" << pAddress->par()[0] <<
"/" << pAddress->par()[1]
87 <<
", " << refpObject <<
")...");
88 GenericAddress *addr =
dynamic_cast<GenericAddress*
>(pAddress);
91 <<
" is NOT a GenericAddress!");
92 return StatusCode::FAILURE;
94 ATH_MSG_DEBUG(
" par: " << pAddress->par()[0] <<
"/" << pAddress->par()[1]
96 " ipar: " << *pAddress->ipar());
108 ATH_MSG_DEBUG(
"::createRep(" << refpAddress <<
", " << pObject <<
")...");
111 ATH_MSG_ERROR(
"::createRep: received null ptr to DataObject");
112 return StatusCode::FAILURE;
114 return ::AthCnvSvc::createRep(pObject, refpAddress);
125 ATH_MSG_DEBUG(
"::fillRepRefs(" << pAddress <<
", " << pObject <<
")...");
126 if (0==pAddress || 0==pObject) {
127 ATH_MSG_ERROR(
"::fillRepRefs: null ptr received! (paddr=" << pAddress
128 <<
", pobj=" << pObject <<
")");
129 return StatusCode::FAILURE;
131 return ::AthCnvSvc::fillRepRefs(pAddress, pObject);
140 const std::string& openMode)
143 << outputConnectionSpec <<
", "
147 TFile *f = TFile::Open(outputConnectionSpec.c_str(),
"recreate");
149 return StatusCode::FAILURE;
152 return StatusCode::SUCCESS;
162 << outputConnectionSpec <<
")");
164 TFile *f = TFile::Open(outputConnectionSpec.c_str(),
"recreate");
166 return StatusCode::FAILURE;
168 return StatusCode::SUCCESS;
177 <<
", " << doCommit <<
")...");
178 return StatusCode::SUCCESS;
196 const std::string* par,
197 const unsigned long* ip,
198 IOpaqueAddress*& refpAddress)
201 <<
", " << par <<
", " << ip <<
", " << refpAddress
203 return ::AthCnvSvc::createAddress(svcType, clid, par, ip, refpAddress);
211 std::string& refAddress)
214 << refAddress <<
")...");
216 refAddress = *pAddress->par();
217 return StatusCode::SUCCESS;
219 ATH_MSG_ERROR(
"::convertAddress: null pointer to IOpaqueAddress !");
220 return StatusCode::FAILURE;
231 const std::string& refAddress,
232 IOpaqueAddress*& refpAddress)
235 <<
", " << refAddress <<
", " << refpAddress
241 return StatusCode::FAILURE;
244 return StatusCode::SUCCESS;
264 const ICnvFactory* fac)
267 <<
", " << fac <<
")...");
#define ATH_MSG_VERBOSE(x)
uint32_t CLID
The Class ID type.
virtual IConverter * createConverter(long typ, const CLID &clid, const ICnvFactory *fac)
Create new Converter using factory.
virtual StatusCode finalize() override
virtual StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject) override
Implementation of IConverter: Create the transient representation of an object.
virtual StatusCode initialize() override
Gaudi Service Implementation.
virtual StatusCode initialize()
Gaudi Service Implementation.
virtual StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject)
Implementation of IConverter: Create the transient representation of an object from persistent state.
virtual StatusCode connectOutput(const std::string &outputConnectionSpec, const std::string &openMode)
Connect the output connection specification to the service with open mode.
virtual StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress)
Convert address to string form.
virtual IConverter * createConverter(long typ, const CLID &clid, const ICnvFactory *fac)
Create new Converter using factory (override AthCnvSvc::createConverter).
virtual StatusCode commitOutput(const std::string &outputConnectionSpec, bool doCommit)
Commit pending output.
virtual StatusCode updateServiceState(IOpaqueAddress *pAddress)
IConversionSvc and IConverter interfaces
virtual ~xAODCnvSvc()
Destructor:
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Implementation of IConverter: Resolve the references of the converted object.
virtual StatusCode createAddress(long svcType, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
IAddressCreator interfaces
xAODCnvSvc()
Default constructor:
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Implementation of IConverter: Convert the transient object to the requested representation.
virtual StatusCode finalize()
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
static const DbType ROOT_StorageType