|
|
|||
File indexing completed on 2025-12-17 10:28:20
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations * 0003 * * 0004 * This software is distributed under the terms of the Apache version 2 licence, * 0005 * copied verbatim in the file "LICENSE". * 0006 * * 0007 * In applying this licence, CERN does not waive the privileges and immunities * 0008 * granted to it by virtue of its status as an Intergovernmental Organization * 0009 * or submit itself to any jurisdiction. * 0010 \***********************************************************************************/ 0011 //------------------------------------------------------------------------------ 0012 // Definition of class : RootDirectoryCnv 0013 //-------------------------------------------------------------------- 0014 // 0015 // Package : DbCnv/NTuples ( The LHCb Offline System) 0016 // Author : M.Frank 0017 // 0018 //------------------------------------------------------------------------------ 0019 #ifndef POOLDB_POOLDBDIRECTORYCNV_H 0020 #define POOLDB_POOLDBDIRECTORYCNV_H 1 0021 0022 // Include files 0023 #include <RootCnv/RootStatCnv.h> 0024 0025 /* 0026 * Gaudi namespace declaration 0027 */ 0028 namespace Gaudi { 0029 0030 /** @class RootDirectoryCnv RootDirectoryCnv.h src/RootDirectoryCnv.h 0031 * 0032 * Description: 0033 * NTuple directory converter class definition 0034 * Definition of the converter to manage the 0035 * directories in an database representing N-Tuples. 0036 * 0037 * @author M.Frank 0038 * @version 1.0 0039 */ 0040 class GAUDI_API RootDirectoryCnv : public RootStatCnv { 0041 public: 0042 /** Initializing Constructor 0043 * @param typ [IN] Concrete storage type of the converter 0044 * @param clid [IN] Class identifier of the object 0045 * @param svc [IN] Pointer to service locator object 0046 * 0047 * @return Reference to RootBaseCnv object 0048 */ 0049 RootDirectoryCnv( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr ); 0050 0051 /** Converter overrides: Create transient object from persistent data 0052 * 0053 * @param pAddr [IN] Pointer to object address. 0054 * @param refpObj [OUT] Location to pointer to store data object 0055 * 0056 * @return Status code indicating success or failure. 0057 */ 0058 StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& refpObj ) override; 0059 0060 /** Converter overrides: Resolve the references of the transient object. 0061 * 0062 * @param pAddr [IN] Pointer to object address. 0063 * @param pObj [IN] Pointer to data object 0064 * 0065 * @return Status code indicating success or failure. 0066 */ 0067 StatusCode fillObjRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override; 0068 0069 /** Converter overrides: Update transient object from persistent data 0070 * 0071 * @param pAddr [IN] Pointer to object address. 0072 * @param pObj [IN] Pointer to data object 0073 * 0074 * @return Status code indicating success or failure. 0075 */ 0076 StatusCode updateObj( IOpaqueAddress* pAddr, DataObject* pObj ) override; 0077 0078 /** Converter overrides: Update the references of 0079 * an updated transient object. 0080 * 0081 * @param pAddr [IN] Pointer to object address. 0082 * @param pObj [IN] Pointer to data object 0083 * 0084 * @return Status code indicating success or failure. 0085 */ 0086 StatusCode updateObjRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override; 0087 0088 /** Converter overrides: Convert the transient object to the 0089 * requested representation. 0090 * 0091 * @param pObj [IN] Pointer to data object 0092 * @param refpAddr [OUT] Location to store pointer to object address. 0093 * 0094 * @return Status code indicating success or failure. 0095 */ 0096 StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAddr ) override; 0097 0098 /** Converter overrides: Fill references of persistent object representation. 0099 * 0100 * @param pObj [IN] Pointer to data object 0101 * @param refpAddr [OUT] Location to store pointer to object address. 0102 * 0103 * @return Status code indicating success or failure. 0104 */ 0105 StatusCode fillRepRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override; 0106 0107 /** Converter overrides: Update persistent object representation. 0108 * 0109 * @param pObj [IN] Pointer to data object 0110 * @param refpAddr [OUT] Location to store pointer to object address. 0111 * 0112 * @return Status code indicating success or failure. 0113 */ 0114 StatusCode updateRep( IOpaqueAddress* pAddr, DataObject* pObj ) override; 0115 0116 /** Converter overrides: Update references of persistent object representation. 0117 * 0118 * @param pObj [IN] Pointer to data object 0119 * @param refpAddr [OUT] Location to store pointer to object address. 0120 * 0121 * @return Status code indicating success or failure. 0122 */ 0123 StatusCode updateRepRefs( IOpaqueAddress* pAddr, DataObject* pObj ) override; 0124 }; 0125 } // namespace Gaudi 0126 #endif // POOLDB_POOLDBDIRECTORYCNV_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|