![]() |
ATLAS Offline Software
|
Interface to allow an object to lock itself when made const in SG. More...
#include <ILockable.h>
Inherited by TileMutableDataContainer< TileBeamElemContainer >, TileMutableDataContainer< TileDigitsContainer >, TileMutableDataContainer< TileHitContainer >, TileMutableDataContainer< TileRawChannelContainer >, MyLockableDataObj, SG::AuxVectorData, SG::ThinningDecision, TileMutableDataContainer< BASE_T >, xAOD::AuxContainerBase, xAOD::AuxInfoBase, xAOD::ByteStreamAuxContainer_v1, and xAOD::ShallowAuxContainer.
Public Member Functions | |
| virtual | ~ILockable () |
| Destructor. | |
| virtual void | lock ()=0 |
| Lock this object. | |
Interface to allow an object to lock itself when made const in SG.
An object recorded in StoreGate can be ‘locked’ by a call to StoreGateSvc::setConst(). Normally, this just sets a flag in the DataProxy, which tells StoreGate not to allow non-const retrieves. However, sometimes the object itself should know about this; for example, when a container with an auxiliary store is locked. If an object in StoreGate derives from ILockable, then a setConst() operation will call lock() on the object.
Definition at line 31 of file ILockable.h.
|
inlinevirtual |
|
pure virtual |
Lock this object.
When an object in StoreGate is locked via StoreGateSvc::setConst, StoreGate will call this method on the object, provided the object derives from ILockable.
Implemented in MyLockableDataObj, SG::AuxVectorData, SG::ThinningDecision, TileMutableDataContainer< BASE_T >, TileMutableDataContainer< TileBeamElemContainer >, TileMutableDataContainer< TileDigitsContainer >, TileMutableDataContainer< TileHitContainer >, TileMutableDataContainer< TileRawChannelContainer >, xAOD::AuxContainerBase, xAOD::AuxInfoBase, xAOD::ByteStreamAuxContainer_v1, and xAOD::ShallowAuxContainer.