The Gaudi Framework  v33r1 (b1225454)
RootConverter.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 //====================================================================
12 // RootConverter class definition
13 //
14 // Author : M.Frank
15 //====================================================================
16 #ifndef GAUDIROOTCNV_ROOTCONVERTER_H
17 #define GAUDIROOTCNV_ROOTCONVERTER_H
18 
19 // Framework include files
20 #include "GaudiKernel/Converter.h"
21 #include "RootCnv/RootCnvSvc.h"
22 
23 /*
24  * Gaudi namespace declaration
25  */
26 namespace Gaudi {
27 
43  protected:
46 
47  public:
55  RootConverter( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr )
56  : Converter( typ, clid, svc ), m_dbMgr( mgr ) {}
57 
59  long repSvcType() const override { return i_repSvcType(); }
60 
68  StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& refpObj ) override {
69  return m_dbMgr->i__createObj( pAddr, refpObj );
70  }
71 
79  StatusCode fillObjRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override {
80  return m_dbMgr->i__fillObjRefs( pAddr, pObj );
81  }
82 
91  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAddr ) override {
92  return m_dbMgr->i__createRep( pObj, refpAddr );
93  }
94 
102  StatusCode fillRepRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override {
103  return m_dbMgr->i__fillRepRefs( pAddr, pObj );
104  }
105  };
106 } // namespace Gaudi
107 
108 #endif // GAUDIROOTCNV_ROOTCONVERTER_H
StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj) override
Resolve the references of the created transient object.
Definition: RootConverter.h:79
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:35
RootConverter(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Initializing Constructor.
Definition: RootConverter.h:55
RootCnvSvc * m_dbMgr
Conversion service needed for proper operation to forward requests.
Definition: RootConverter.h:45
Description:
Definition: RootCnvSvc.h:62
StatusCode createRep(DataObject *pObj, IOpaqueAddress *&refpAddr) override
Converter overrides: Convert the transient object to the requested representation.
Definition: RootConverter.h:91
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:61
long repSvcType() const override
Retrieve the class type of the data store the converter uses.
Definition: RootConverter.h:59
virtual StatusCode i__createObj(IOpaqueAddress *pAddr, DataObject *&refpObj)
Create transient object from persistent data.
Definition: RootCnvSvc.cpp:446
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
Converter base class.
Definition: Converter.h:34
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:404
virtual StatusCode i__fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the created transient object.
Definition: RootCnvSvc.cpp:475
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&refpObj) override
Converter overrides: Create transient object from persistent data.
Definition: RootConverter.h:68
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:81
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:40
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
virtual StatusCode i__createRep(DataObject *pObj, IOpaqueAddress *&refpAddr)
Convert the transient object to the requested persistent representation.
Definition: RootCnvSvc.cpp:385
Description: Definition of the ROOT data converter.
Definition: RootConverter.h:42