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.