|
| | DeclareInterfaceID (IProxyDict, 2, 0) |
| |
| virtual | ~IProxyDict () override |
| |
| virtual SG::DataProxy * | proxy_exact (SG::sgkey_t sgkey) const =0 |
| | Get proxy given a hashed key+clid. More...
|
| |
| virtual SG::DataProxy * | proxy (const CLID &id, const std::string &key) const =0 |
| | Get proxy with given id and key. More...
|
| |
| virtual SG::DataProxy * | proxy (const void *const pTransient) const =0 |
| | Get a proxy referencing a given transient object. More...
|
| |
| virtual std::vector< const SG::DataProxy * > | proxies () const =0 |
| | Return the list of all current proxies in store. More...
|
| |
| virtual StatusCode | addToStore (CLID id, SG::DataProxy *proxy)=0 |
| | Add a new proxy to the store. More...
|
| |
| virtual SG::DataProxy * | recordObject (SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting)=0 |
| | Record an object in the store. More...
|
| |
| virtual void | boundHandle (IResetable *handle) |
| | Tell the store that a handle has been bound to a proxy. More...
|
| |
| virtual void | unboundHandle (IResetable *handle) |
| | Tell the store that a handle has been unbound from a proxy. More...
|
| |
| 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. More...
|
| |
| virtual StatusCode | createObj (IConverter *cvt, IOpaqueAddress *addr, DataObject *&refpObject) |
| | Call converter to create an object, possibly with locking. More...
|
| |
| virtual IProxyDict * | hiveProxyDict () override |
| | Return the current event-slot-specific store. More...
|
| |
| virtual SG::SourceID | sourceID (const std::string &key="EventSelector") const |
| | Return the metadata source ID for the current event slot. More...
|
| |
| virtual sgkey_t | stringToKey (const std::string &str, CLID clid)=0 |
| | Find the key for a string/CLID pair. More...
|
| |
| virtual const std::string * | keyToString (sgkey_t key) const =0 |
| | Find the string corresponding to a given key. More...
|
| |
| virtual const std::string * | keyToString (sgkey_t key, CLID &clid) const =0 |
| | Find the string and CLID corresponding to a given key. More...
|
| |
| virtual void | registerKey (sgkey_t key, const std::string &str, CLID clid)=0 |
| | Remember an additional mapping from key to string/CLID. More...
|
| |
A proxy dictionary.
This is the internal interface used by StoreGateSvc and similar. It provides interfaces for taking a set of DataProxy objects and looking them up by either CLID+key or by a pointer to the transient objects.
Objects can be identified by either a CLID+key pair or by a hash of this data. This interface also provides methods for converting between the two representations.
- Author
- Paolo Calafiura - ATLAS
Definition at line 45 of file AthenaKernel/AthenaKernel/IProxyDict.h.
| StatusCode IProxyDict::createObj |
( |
IConverter * |
cvt, |
|
|
IOpaqueAddress * |
addr, |
|
|
DataObject *& |
refpObject |
|
) |
| |
|
virtual |
Call converter to create an object, possibly with locking.
- Parameters
-
| cvt | The converter to call. |
| addr | Opaque address information for the object to create. |
| refpObject | Reference to location of the pointer of the created object. |
This calls the createObj method on cvt to create the referenced transient object.
This will also lock the store, if that is required.
The default implementation just forwards the method call, with no locking.
Definition at line 70 of file IProxyDict.cxx.
74 return cvt->createObj (addr, refpObject);
Record an object in the store.
- Parameters
-
| obj | The data object to store. |
| key | The key as which it should be stored. |
| allowMods | If false, the object will be recorded as const. |
| returnExisting | If true, return proxy if this key already exists. If the object has been recorded under a different key, then make an alias. If the object has been recorded under a different clid, then make a link. |
Full-blown record. obj should usually be something deriving from SG::DataBucket.
Returns the proxy for the recorded object; nullptr on failure. If the requested CLID/key combination already exists in the store, the behavior is controlled by returnExisting. If true, then the existing proxy is returned; otherwise, nullptr is returned. In either case, obj is destroyed.