The Gaudi Framework  master (d98a2936)
IRegistry.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 #pragma once
12 
13 #include <GaudiKernel/Kernel.h>
14 #include <string>
15 
16 class DataObject;
17 class IOpaqueAddress;
18 class IDataProviderSvc;
19 
30 public:
32  typedef std::string name_type;
34  typedef std::string id_type;
35 
37  virtual ~IRegistry() = default;
38 
40  virtual unsigned long addRef() = 0;
41 
43  virtual unsigned long release() = 0;
44 
46  virtual const name_type& name() const = 0;
47 
49  virtual const id_type& identifier() const = 0;
50 
52  virtual IDataProviderSvc* dataSvc() const = 0;
53 
55  virtual DataObject* object() const = 0;
56 
58  virtual IOpaqueAddress* address() const = 0;
59 
61  virtual void setAddress( IOpaqueAddress* pAddress ) = 0;
62 };
IOpaqueAddress
Definition: IOpaqueAddress.h:28
IRegistry
Definition: IRegistry.h:29
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:34
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:37
IRegistry::name_type
std::string name_type
Name type.
Definition: IRegistry.h:32
IDataProviderSvc
Definition: IDataProviderSvc.h:48
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
IRegistry::dataSvc
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.