|
||||
File indexing completed on 2025-01-18 09:57:40
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2019 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 #ifndef GAUDIKERNEL_IREGISTRY_H 0012 #define GAUDIKERNEL_IREGISTRY_H 0013 0014 // Include files 0015 #include "GaudiKernel/Kernel.h" 0016 #include <string> 0017 0018 // forward declarations 0019 class DataObject; 0020 class IOpaqueAddress; 0021 class IDataProviderSvc; 0022 0023 /** @class IRegistry IRegistry.h GaudiKernel/IRegistry.h 0024 0025 The IRegistry represents the entry door to the environment 0026 any data object residing in a transient data store is embedded. 0027 0028 Split from directory browsing (which is now sub-classed), providing 0029 a light-weight interface to differing registry mechanism. 0030 0031 */ 0032 class GAUDI_API IRegistry { 0033 public: 0034 /// Type definitions 0035 /// Name type 0036 typedef std::string name_type; 0037 /// Identifier Key type 0038 typedef std::string id_type; 0039 0040 /// destructor 0041 virtual ~IRegistry() = default; 0042 0043 /// Add reference to object 0044 virtual unsigned long addRef() = 0; 0045 0046 /// release reference to object 0047 virtual unsigned long release() = 0; 0048 0049 /// Name of the directory (or key) 0050 virtual const name_type& name() const = 0; 0051 0052 /// Full identifier (or key) 0053 virtual const id_type& identifier() const = 0; 0054 0055 /// Retrieve pointer to Transient Store 0056 virtual IDataProviderSvc* dataSvc() const = 0; 0057 0058 /// Retrieve object behind the link 0059 virtual DataObject* object() const = 0; 0060 0061 /// Retrieve opaque storage address 0062 virtual IOpaqueAddress* address() const = 0; 0063 0064 /// Set/Update Opaque storage address 0065 virtual void setAddress( IOpaqueAddress* pAddress ) = 0; 0066 }; 0067 #endif // KERNEL_IREGISTRY_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |