The Gaudi Framework  master (b9786168)
Loading...
Searching...
No Matches
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
16class DataObject;
17class IOpaqueAddress;
19
30public:
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};
#define GAUDI_API
Definition Kernel.h:49
A DataObject is the base class of any identifiable object on any data store.
Definition DataObject.h:37
Data provider interface definition.
Opaque address interface definition.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition IRegistry.h:29
virtual ~IRegistry()=default
destructor
virtual const name_type & name() const =0
Name of the directory (or key)
virtual const id_type & identifier() const =0
Full identifier (or key)
virtual DataObject * object() const =0
Retrieve object behind the link.
virtual unsigned long release()=0
release reference to object
std::string name_type
Name type.
Definition IRegistry.h:32
std::string id_type
Identifier Key type.
Definition IRegistry.h:34
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
virtual void setAddress(IOpaqueAddress *pAddress)=0
Set/Update Opaque storage address.
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.
virtual unsigned long addRef()=0
Add reference to object.