RootConverter.h
Go to the documentation of this file.
1 //====================================================================
2 // RootConverter class definition
3 //
4 // Author : M.Frank
5 //====================================================================
6 #ifndef GAUDIROOTCNV_ROOTCONVERTER_H
7 #define GAUDIROOTCNV_ROOTCONVERTER_H
8 
9 // Framework include files
10 #include "GaudiKernel/Converter.h"
11 #include "RootCnv/RootCnvSvc.h"
12 
13 /*
14  * Gaudi namespace declaration
15  */
16 namespace Gaudi {
17 
33  protected:
34 
37 
38  public:
39 
47  RootConverter(long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr)
48  : Converter(typ, clid, svc), m_dbMgr(mgr) {}
49 
51  ~RootConverter() override = default;
52 
54  long repSvcType() const override { return i_repSvcType(); }
55 
63  StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& refpObj) override
64  { return m_dbMgr->i__createObj(pAddr, refpObj); }
65 
74  { return m_dbMgr->i__fillObjRefs(pAddr, pObj); }
75 
84  StatusCode createRep(DataObject* pObj, IOpaqueAddress*& refpAddr) override
85  { return m_dbMgr->i__createRep(pObj, refpAddr); }
86 
95  { return m_dbMgr->i__fillRepRefs(pAddr, pObj); }
96  };
97 }
98 
99 #endif // GAUDIROOTCNV_ROOTCONVERTER_H
StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj) override
Resolve the references of the created transient object.
Definition: RootConverter.h:73
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
RootConverter(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Initializing Constructor.
Definition: RootConverter.h:47
RootCnvSvc * m_dbMgr
Conversion service needed for proper operation to forward requests.
Definition: RootConverter.h:36
Description:
Definition: RootCnvSvc.h:53
long repSvcType() const override
Retrieve the class type of the data store the converter uses.
Definition: RootConverter.h:54
StatusCode createRep(DataObject *pObj, IOpaqueAddress *&refpAddr) override
Converter overrides: Convert the transient object to the requested representation.
Definition: RootConverter.h:84
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
virtual StatusCode i__createObj(IOpaqueAddress *pAddr, DataObject *&refpObj)
Create transient object from persistent data.
Definition: RootCnvSvc.cpp:467
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
Converter base class.
Definition: Converter.h:24
StatusCode fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj) override
Resolve the references of the created transient object.
Definition: RootConverter.h:94
virtual StatusCode i__fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the converted object.
Definition: RootCnvSvc.cpp:425
virtual StatusCode i__fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the created transient object.
Definition: RootCnvSvc.cpp:497
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&refpObj) override
Converter overrides: Create transient object from persistent data.
Definition: RootConverter.h:63
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:107
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
Helper functions to set/get the application return code.
Definition: __init__.py:1
virtual StatusCode i__createRep(DataObject *pObj, IOpaqueAddress *&refpAddr)
Convert the transient object to the requested persistent representation.
Definition: RootCnvSvc.cpp:405
Description: Definition of the ROOT data converter.
Definition: RootConverter.h:32