The Gaudi Framework
v30r3 (a5ef0a68)
|
User example objects: SmartRefBase. More...
#include <GaudiKernel/SmartRefBase.h>
Public Types | |
enum | { DATAOBJECT, CONTAINEDOBJECT } |
Public Member Functions | |
const ContainedObject * | accessData (const ContainedObject *typ) const |
Load on demand of ContainedObject like references. More... | |
const DataObject * | accessData (const DataObject *typ) const |
Load on demand of DataObject like references. More... | |
bool | isEqualEx (const DataObject *pObj, const SmartRefBase &c) const |
Extended equality check. More... | |
bool | isEqualEx (const ContainedObject *pObj, const SmartRefBase &c) const |
Extended equality check. More... | |
bool | isEqual (const ContainedObject *, const SmartRefBase &c) const |
Equality operator for ContainedObject like references. More... | |
bool | isEqual (const DataObject *, const SmartRefBase &c) const |
Equality operator for DataObject like references. More... | |
void | writeObject (const DataObject *pObject, StreamBuffer &s) const |
Output streamer for DataObject like references. More... | |
void | writeObject (const ContainedObject *pObject, StreamBuffer &s) const |
Output streamer for ContainedObject like references. More... | |
DataObject * | readObject (const DataObject *, StreamBuffer &s) const |
Input streamer for DataObject like references. More... | |
ContainedObject * | readObject (const ContainedObject *, StreamBuffer &s) const |
Output streamer for ContainedObject like references. More... | |
void | setObjectType (const ContainedObject *) const |
void | setObjectType (const DataObject *) const |
const std::string & | path () const |
Shortcut to access the path to the linked object. More... | |
int | objectType () const |
void | set (DataObject *pObj, long hint_id, long link_id) |
Setup smart reference when reading. Must be allowed from external sources. More... | |
Public Attributes | |
long | m_hintID |
Object data: ID of the link hint to the identifiable object. More... | |
long | m_linkID |
Object data: ID of the object within the identifiable container (if any) More... | |
const DataObject * | m_data |
Object data: Pointer to the identifiable object the link originates. More... | |
const ContainedObject * | m_contd |
Object data: Pointer to the Contained object (if applicable) More... | |
long | m_type |
User example objects: SmartRefBase.
Description: Base class of SmartReference objects. The base class handles the object requests to the data store. The separation of the SmartReference and the base class is mainly to avoid code blow up, because if the object is not yet present serious work must be performed in order to request the object from the store and invoke object updates to keep pointers in sync.
Base Class: None
Dependencies: None
History :
+---------+----------------------------------------------+--------+ | Date | Comment | Who | +---------+----------------------------------------------+--------+ | 21/06/99| Initial version. | MF | +---------+----------------------------------------------+--------+
Author: M.Frank Version: 1.0
Definition at line 47 of file SmartRefBase.h.
anonymous enum |
Enumerator | |
---|---|
DATAOBJECT | |
CONTAINEDOBJECT |
Definition at line 61 of file SmartRefBase.h.
const ContainedObject * SmartRefBase::accessData | ( | const ContainedObject * | typ | ) | const |
Load on demand of ContainedObject like references.
Load on demand: ContainedObject type references.
Definition at line 34 of file SmartRefBase.cpp.
const DataObject * SmartRefBase::accessData | ( | const DataObject * | typ | ) | const |
Load on demand of DataObject like references.
Load on demand: DataObject type references.
Definition at line 44 of file SmartRefBase.cpp.
|
inline |
Equality operator for ContainedObject like references.
Definition at line 73 of file SmartRefBase.h.
|
inline |
Equality operator for DataObject like references.
Definition at line 78 of file SmartRefBase.h.
bool SmartRefBase::isEqualEx | ( | const DataObject * | pObj, |
const SmartRefBase & | c | ||
) | const |
Extended equality check.
Definition at line 72 of file SmartRefBase.cpp.
bool SmartRefBase::isEqualEx | ( | const ContainedObject * | pObj, |
const SmartRefBase & | c | ||
) | const |
Extended equality check.
Definition at line 91 of file SmartRefBase.cpp.
|
inline |
Definition at line 110 of file SmartRefBase.h.
const std::string & SmartRefBase::path | ( | ) | const |
Shortcut to access the path to the linked object.
Definition at line 96 of file SmartRefBase.cpp.
|
inline |
Input streamer for DataObject like references.
Definition at line 90 of file SmartRefBase.h.
|
inline |
Output streamer for ContainedObject like references.
Definition at line 97 of file SmartRefBase.h.
void SmartRefBase::set | ( | DataObject * | pObj, |
long | hint_id, | ||
long | link_id | ||
) |
Setup smart reference when reading. Must be allowed from external sources.
Setup smart reference.
Definition at line 26 of file SmartRefBase.cpp.
|
inline |
Definition at line 103 of file SmartRefBase.h.
|
inline |
Definition at line 104 of file SmartRefBase.h.
|
inline |
Output streamer for DataObject like references.
Definition at line 83 of file SmartRefBase.h.
|
inline |
Output streamer for ContainedObject like references.
Definition at line 85 of file SmartRefBase.h.
|
mutable |
Object data: Pointer to the Contained object (if applicable)
Definition at line 57 of file SmartRefBase.h.
|
mutable |
Object data: Pointer to the identifiable object the link originates.
Definition at line 55 of file SmartRefBase.h.
|
mutable |
Object data: ID of the link hint to the identifiable object.
Definition at line 51 of file SmartRefBase.h.
|
mutable |
Object data: ID of the object within the identifiable container (if any)
Definition at line 53 of file SmartRefBase.h.
|
mutable |
Definition at line 59 of file SmartRefBase.h.