7#ifndef ATHENAKERNEL_IPROXYDICT_H
8# define ATHENAKERNEL_IPROXYDICT_H
16#include "GaudiKernel/INamedInterface.h"
17#include "GaudiKernel/ClassID.h"
46 virtual public extend_interfaces<IHiveStore, INamedInterface>
76 const std::string& key)
const = 0;
91 virtual std::vector<const SG::DataProxy*>
proxies()
const = 0;
128 const std::string& key,
130 bool returnExisting) = 0;
160 sgkey_t& sgkey_out,
size_t& index_out);
178 virtual StatusCode
createObj (IConverter* cvt,
179 IOpaqueAddress* addr,
180 DataObject*& refpObject);
Type used to identify a metadata source.
Smart pointer to manage DataObject reference counts.
uint32_t CLID
The Class ID type.
Abstract interface for looking up strings/CLIDs in a pool.
virtual bool tryELRemap(sgkey_t sgkey_in, size_t index_in, sgkey_t &sgkey_out, size_t &index_out)
Test to see if the target of an ElementLink has moved.
virtual void boundHandle(IResetable *handle)
Tell the store that a handle has been bound to a proxy.
virtual SG::DataProxy * recordObject(SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting)=0
Record an object in the store.
DeclareInterfaceID(IProxyDict, 2, 0)
virtual IProxyDict * hiveProxyDict() override
Return the current event-slot-specific store.
virtual void unboundHandle(IResetable *handle)
Tell the store that a handle has been unbound from a proxy.
virtual StatusCode addToStore(CLID id, SG::DataProxy *proxy)=0
Add a new proxy to the store.
virtual SG::DataProxy * proxy(const CLID &id, const std::string &key) const =0
Get proxy with given id and key.
virtual std::vector< const SG::DataProxy * > proxies() const =0
Return the list of all current proxies in store.
virtual StatusCode createObj(IConverter *cvt, IOpaqueAddress *addr, DataObject *&refpObject)
Call converter to create an object, possibly with locking.
virtual ~IProxyDict() override
virtual SG::DataProxy * proxy_exact(SG::sgkey_t sgkey) const =0
Get proxy given a hashed key+clid.
virtual SG::DataProxy * proxy(const void *const pTransient) const =0
Get a proxy referencing a given transient object.
virtual SG::SourceID sourceID(const std::string &key="EventSelector") const
Return the metadata source ID for the current event slot.
Abstract interface for looking up strings/CLIDs in a pool.
SG::sgkey_t sgkey_t
Type of the keys.
CxxUtils::RefCountedPtr< T > DataObjectSharedPtr
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.