5#ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLLEGACYCNV_H
6#define ATHENAPOOLCNVSVC_T_ATHENAPOOLLEGACYCNV_H
22template<
class TRANS,
class PERS,
class LEGACY>
56 virtual StatusCode
DataObjectToPool(IOpaqueAddress* pAddr, DataObject* pObj)
override final {
59 m_oldAPCnv = std::make_unique<LegacyCnv>( this->serviceLocator() ,
this );
61 if( !
sc.isSuccess() ) {
66 return m_oldAPCnv->DataObjectToPool( pAddr, pObj );
RpcSectorLogicContainer_p1 PERS
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj)=0
Write an object into POOL.
virtual StatusCode initialize()
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj) override
Compatibility for old converter classes that don't get passed the key.
LegacyCnv(ISvcLocator *svcloc, T_AthenaPoolLegacyCnv *owner)
T_AthenaPoolLegacyCnv * m_ownerCnv
virtual LEGACY * createPersistent(TRANS *transCont) override final
virtual TRANS * createTransient() override final
virtual LEGACY * createLegacy(TRANS *)=0
additional user-supplied method that creates LEGACY representation
std::unique_ptr< LegacyCnv > m_oldAPCnv
virtual bool writingLegacy()=0
user-supplied method that makes this converter write PERS if False or LEGACY if True in the current A...
T_AthenaPoolCustomCnv< TRANS, LEGACY > BaseLegacyCnv
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj) override final
DataObjectToPool() that dispatches to the right converter based on writingLegacy()
virtual TRANS * createTransient() override=0
standard user-supplied methods to create TRANS and PERS representations
T_AthenaPoolCustomCnv< TRANS, PERS > BaseCnv
T_AthenaPoolLegacyCnv(ISvcLocator *svcloc)
virtual PERS * createPersistent(TRANS *) override=0