Go to the documentation of this file.
20 #define KERNEL_SMARTREFBASE_CPP 1
57 if ( !mgr )
return nullptr;
59 if ( !link )
return nullptr;
63 if ( !reg )
return nullptr;
102 if ( link )
return link->
path();
105 return s_empty_string;
Embedded class defining a symbolic link Note: No explicit copy constructor; implicit compiler generat...
void setObject(const DataObject *pObject)
Update object pointer.
User example objects: SmartRefBase.
long m_linkID
Object data: ID of the object within the identifiable container (if any)
const std::string & path() const
Access to path of object.
virtual StatusCode retrieveObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
ObjectContainerBase _Container
const std::string & path() const
Shortcut to access the path to the linked object.
const DataObject * m_data
Object data: Pointer to the identifiable object the link originates.
void set(DataObject *pObj, long hint_id, long link_id)
Setup smart reference when reading. Must be allowed from external sources.
virtual long index() const
Distance in the parent container.
long m_hintID
Object data: ID of the link hint to the identifiable object.
const ObjectContainerBase * parent() const
Access to parent object.
const ContainedObject * m_contd
Object data: Pointer to the Contained object (if applicable)
virtual const id_type & identifier() const =0
Full identifier (or key)
const ContainedObject * accessData(const ContainedObject *typ) const
Load on demand of ContainedObject like references.
LinkManager * linkMgr()
Retrieve Link manager.
bool isEqualEx(const DataObject *pObj, const SmartRefBase &c) const
Extended equality check.
virtual const ContainedObject * containedObject(long dist) const =0
Pointer to an object of a given distance.
IRegistry * registry() const
Get pointer to Registry.
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.
const DataObject * object() const
Const access to data object.
const Link * link(long id) const
Retrieve symbolic link identified by ID.