The Gaudi Framework  master (37c0b60a)
IRegistry.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 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 #ifndef GAUDIKERNEL_IREGISTRY_H
12 #define GAUDIKERNEL_IREGISTRY_H
13 
14 // Include files
15 #include <GaudiKernel/Kernel.h>
16 #include <string>
17 
18 // forward declarations
19 class DataObject;
20 class IOpaqueAddress;
21 class IDataProviderSvc;
22 
33 public:
39 
41  virtual ~IRegistry() = default;
42 
44  virtual unsigned long addRef() = 0;
45 
47  virtual unsigned long release() = 0;
48 
50  virtual const name_type& name() const = 0;
51 
53  virtual const id_type& identifier() const = 0;
54 
56  virtual IDataProviderSvc* dataSvc() const = 0;
57 
59  virtual DataObject* object() const = 0;
60 
62  virtual IOpaqueAddress* address() const = 0;
63 
65  virtual void setAddress( IOpaqueAddress* pAddress ) = 0;
66 };
67 #endif // KERNEL_IREGISTRY_H
std::string
STL class.
IOpaqueAddress
Definition: IOpaqueAddress.h:33
IRegistry
Definition: IRegistry.h:32
IRegistry::~IRegistry
virtual ~IRegistry()=default
destructor
IRegistry::name
virtual const name_type & name() const =0
Name of the directory (or key)
IRegistry::release
virtual unsigned long release()=0
release reference to object
IRegistry::addRef
virtual unsigned long addRef()=0
Add reference to object.
IRegistry::setAddress
virtual void setAddress(IOpaqueAddress *pAddress)=0
Set/Update Opaque storage address.
IRegistry::address
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
IRegistry::id_type
std::string id_type
Identifier Key type.
Definition: IRegistry.h:38
Kernel.h
IRegistry::object
virtual DataObject * object() const =0
Retrieve object behind the link.
IRegistry::identifier
virtual const id_type & identifier() const =0
Full identifier (or key)
DataObject
Definition: DataObject.h:36
IRegistry::name_type
std::string name_type
Type definitions Name type.
Definition: IRegistry.h:36
IDataProviderSvc
Definition: IDataProviderSvc.h:53
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
IRegistry::dataSvc
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.