The Gaudi Framework  v29r0 (ff2e7097)
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 {
18 
34  {
35  protected:
38 
39  public:
47  RootConverter( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr )
48  : Converter( typ, clid, svc ), m_dbMgr( mgr )
49  {
50  }
51 
53  ~RootConverter() override = default;
54 
56  long repSvcType() const override { return i_repSvcType(); }
57 
65  StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& refpObj ) override
66  {
67  return m_dbMgr->i__createObj( pAddr, refpObj );
68  }
69 
77  StatusCode fillObjRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override
78  {
79  return m_dbMgr->i__fillObjRefs( pAddr, pObj );
80  }
81 
90  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAddr ) override
91  {
92  return m_dbMgr->i__createRep( pObj, refpAddr );
93  }
94 
103  {
104  return m_dbMgr->i__fillRepRefs( pAddr, pObj );
105  }
106  };
107 }
108 
109 #endif // GAUDIROOTCNV_ROOTCONVERTER_H
StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj) override
Resolve the references of the created transient object.
Definition: RootConverter.h:77
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:37
Description:
Definition: RootCnvSvc.h:53
long repSvcType() const override
Retrieve the class type of the data store the converter uses.
Definition: RootConverter.h:56
StatusCode createRep(DataObject *pObj, IOpaqueAddress *&refpAddr) override
Converter overrides: Convert the transient object to the requested representation.
Definition: RootConverter.h:90
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
virtual StatusCode i__createObj(IOpaqueAddress *pAddr, DataObject *&refpObj)
Create transient object from persistent data.
Definition: RootCnvSvc.cpp:464
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.
virtual StatusCode i__fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the converted object.
Definition: RootCnvSvc.cpp:421
virtual StatusCode i__fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the created transient object.
Definition: RootCnvSvc.cpp:494
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&refpObj) override
Converter overrides: Create transient object from persistent data.
Definition: RootConverter.h:65
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:110
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
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:401
Description: Definition of the ROOT data converter.
Definition: RootConverter.h:33