![]() |
|
|
Generated: 18 Jul 2008 |
#include <GaudiKernel/DataObject.h>
Inheritance diagram for DataObject:


The base class supplies the implementation of data streaming.
Definition at line 31 of file DataObject.h.
inline code of class DataObject | |
| void | setRegistry (IRegistry *pRegistry) |
| Set pointer to Registry. | |
| IRegistry * | registry () const |
| Get pointer to Registry. | |
| LinkManager * | linkMgr () const |
| Retrieve Link manager. | |
| const unsigned char | version () const |
| Retrieve version number of this object representation. | |
| void | setVersion (unsigned char vsn) |
| Set version number of this object representation. | |
| unsigned long | refCount () const |
| Return the refcount. | |
| virtual std::ostream & | fillStream (std::ostream &s) const |
| Fill the output stream (ASCII). | |
| std::ostream & | operator<< (std::ostream &s, const DataObject &obj) |
| Output operator (ASCII). | |
Public Member Functions | |
| DataObject () | |
| Standard Constructor. | |
| DataObject (const DataObject &) | |
| Copy Constructor. | |
| virtual | ~DataObject () |
| Standard Destructor. | |
| virtual unsigned long | addRef () |
| Add reference to object. | |
| virtual unsigned long | release () |
| release reference to object | |
| virtual const CLID & | clID () const |
| Retrieve reference to class definition structure. | |
| const std::string & | name () const |
| Retreive DataObject name. It is the name when registered in the store. | |
| virtual StreamBuffer & | serialize (StreamBuffer &s) |
| Serialization mechanism: Serialize the object for reading. | |
| virtual StreamBuffer & | serialize (StreamBuffer &s) const |
| Serialization mechanism: Serialize the object for writing. | |
Static Public Member Functions | |
| static const CLID & | classID () |
| Retrieve reference to class definition structure (static access). | |
Private Attributes | |
| unsigned long | m_refCount |
| Reference count. | |
| unsigned char | m_version |
| Version number. | |
| IRegistry * | m_pRegistry |
| Pointer to the Registry Object. | |
| LinkManager * | m_pLinkMgr |
| Store of symbolic links. | |
| DataObject::DataObject | ( | ) |
Standard Constructor.
Definition at line 13 of file DataObject.cpp.
References m_pLinkMgr, and LinkManager::newInstance().
00014 : m_refCount(0), 00015 m_version(0), 00016 m_pRegistry(0) 00017 { 00018 m_pLinkMgr = LinkManager::newInstance(); 00019 }
| DataObject::DataObject | ( | const DataObject & | ) |
Copy Constructor.
Definition at line 22 of file DataObject.cpp.
References m_pLinkMgr, and LinkManager::newInstance().
00023 : m_refCount(0), 00024 m_version(0), 00025 m_pRegistry(0) 00026 { 00027 m_pLinkMgr = LinkManager::newInstance(); 00028 }
| DataObject::~DataObject | ( | ) | [virtual] |
Standard Destructor.
Definition at line 31 of file DataObject.cpp.
References m_pLinkMgr, and m_refCount.
00031 { 00032 // Issue a warning if the object is being deleted and the reference 00033 // count is non-zero. 00034 if ( m_refCount > 0 ) { 00035 // Insert warning here 00036 } 00037 if ( m_pLinkMgr ) delete m_pLinkMgr; 00038 m_pLinkMgr = 0; 00039 }
| unsigned long DataObject::addRef | ( | ) | [virtual] |
Add reference to object.
Definition at line 51 of file DataObject.cpp.
References m_refCount.
Referenced by HistorySvc::registerSvc(), DataSvcHelpers::RegistryEntry::setObject(), and DataSvc::unregisterObject().
00051 { 00052 return ++m_refCount; 00053 }
| unsigned long DataObject::release | ( | ) | [virtual] |
release reference to object
Definition at line 42 of file DataObject.cpp.
References m_refCount.
Referenced by MultiStoreSvc::clearStore(), PoolDbNTupleCnv::createObj(), PoolDbBaseCnv::createObj(), DataSvc::registerObject(), DataSvcHelpers::RegistryEntry::setObject(), MultiStoreSvc::setRoot(), and DataSvcHelpers::RegistryEntry::~RegistryEntry().
00042 { 00043 unsigned long cnt = --m_refCount; 00044 if ( 0 == m_refCount ) { 00045 delete this; 00046 } 00047 return cnt; 00048 }
| const CLID & DataObject::clID | ( | ) | const [virtual] |
Retrieve reference to class definition structure.
Reimplemented in AlgorithmHistory, AlgToolHistory, DataHistory, HistoryObj, JobHistory, KeyedContainer< DATATYPE, MAPPING >, NTuple::Directory, NTuple::File, NTuple::ColumnWiseTuple, NTuple::RowWiseTuple, ObjectList< TYPE >, ObjectVector< TYPE >, RefTable1to1< FROM, TO >, RefTable1toN< FROM, TO >, ServiceHistory, AIDATuple, Gaudi::Histogram1D, Gaudi::Histogram2D, Gaudi::Histogram3D, Gaudi::Profile1D, and Gaudi::Profile2D.
Definition at line 56 of file DataObject.cpp.
References CLID_DataObject.
Referenced by HistogramAgent::analyse(), CollectionCloneAlg::book(), PoolDbNTupleCnv::createRep(), NTuple::Tuple::i_addItem(), NTuple::Tuple::i_addObject(), NTuple::Tuple::i_item(), ConversionSvc::makeCall(), MultiStoreSvc::preparePartitions(), and StoreExplorerAlg::printObj().
00056 { 00057 return CLID_DataObject; 00058 }
| const CLID & DataObject::classID | ( | ) | [static] |
Retrieve reference to class definition structure (static access).
Reimplemented in AlgorithmHistory, AlgToolHistory, DataHistory, HistoryObj, JobHistory, KeyedContainer< DATATYPE, MAPPING >, NTuple::Directory, NTuple::File, NTuple::ColumnWiseTuple, NTuple::RowWiseTuple, ObjectList< TYPE >, ObjectVector< TYPE >, ServiceHistory, AIDATuple, Gaudi::Histogram1D, Gaudi::Histogram2D, Gaudi::Histogram3D, Gaudi::Profile1D, and Gaudi::Profile2D.
Definition at line 61 of file DataObject.cpp.
References CLID_DataObject.
00061 { 00062 return CLID_DataObject; 00063 }
| const std::string & DataObject::name | ( | ) | const |
Retreive DataObject name. It is the name when registered in the store.
Reimplemented in NTuple::File, and ServiceHistory.
Definition at line 66 of file DataObject.cpp.
References _sDataObjectCppNotRegistered, m_pRegistry, and IRegistry::name().
Referenced by NTuple::Tuple::addIndexedItem(), NTuple::Tuple::addItem(), RootHistCnv::DirectoryCnv::createRep(), NTuple::TupleImp::find(), NTuple::Tuple::i_addItem(), NTuple::Tuple::i_addObject(), NTuple::TupleImp::i_find(), NTuple::Tuple::i_item(), NTuple::Tuple::item(), DataSvc::preLoad(), and NTuple::TupleImp::remove().
00066 { 00067 if( m_pRegistry != 0) { 00068 return m_pRegistry->name(); 00069 } 00070 else { 00071 return _sDataObjectCppNotRegistered; 00072 } 00073 }
| StreamBuffer & DataObject::serialize | ( | StreamBuffer & | s | ) | [virtual] |
Serialization mechanism: Serialize the object for reading.
Reimplemented in RefTableBase< FROM, MAPENTRY >, Gaudi::Histogram1D, RefTableBase< FROM, SmartRefVector< TO > >, and RefTableBase< FROM, SmartRef< TO > >.
Definition at line 76 of file DataObject.cpp.
References m_version, and Gaudi::Units::s.
Referenced by Gaudi::Histogram1D::serialize(), and RefTableBase< FROM, SmartRef< TO > >::serialize().
| StreamBuffer & DataObject::serialize | ( | StreamBuffer & | s | ) | const [virtual] |
Serialization mechanism: Serialize the object for writing.
Reimplemented in RefTableBase< FROM, MAPENTRY >, Gaudi::Histogram1D, RefTableBase< FROM, SmartRefVector< TO > >, and RefTableBase< FROM, SmartRef< TO > >.
Definition at line 81 of file DataObject.cpp.
References m_version, and Gaudi::Units::s.
| void DataObject::setRegistry | ( | IRegistry * | pRegistry | ) | [inline] |
Set pointer to Registry.
Definition at line 67 of file DataObject.h.
References m_pRegistry.
Referenced by DataSvcHelpers::RegistryEntry::makeHard(), DataSvc::registerObject(), DataSvcHelpers::RegistryEntry::setObject(), and DataSvcHelpers::RegistryEntry::~RegistryEntry().
00067 { 00068 m_pRegistry = pRegistry; 00069 }
| IRegistry* DataObject::registry | ( | ) | const [inline] |
Get pointer to Registry.
Definition at line 71 of file DataObject.h.
References m_pRegistry.
Referenced by Objects::access(), SmartRefBase::accessData(), LinkManager::Link::address(), AIDATupleSvc::book(), RootHistCnv::RConverter::changeDirectory(), CollectionCloneAlg::checkInput(), DataSvc::clearSubTree(), TagCollectionSvc::connect(), RootHistCnv::RConverter::createAddress(), NTupleSvc::createDirectory(), HbookCnv::H2DCnv::createObj(), HbookCnv::H1DCnv::createObj(), RootHistCnv::RHistogramCnv< T, S, Q >::createPersistent(), RootHistCnv::RNTupleCnv::createRep(), RootHistCnv::RFileCnv::createRep(), RootHistCnv::RDirectoryCnv::createRep(), HbookCnv::HNTupleCnv::createRep(), HbookCnv::HFileCnv::createRep(), HbookCnv::HDirectoryCnv::createRep(), HbookCnv::HConverter::createRep(), PoolDbNTupleCnv::createRep(), PoolDbDirectoryCnv::createRep(), PoolDbBaseCnv::createRep(), PoolDbBaseCnv::dumpReferences(), RootHistCnv::RDirectoryCnv::fillObjRefs(), HbookCnv::HDirectoryCnv::fillObjRefs(), PoolDbNTupleCnv::fillRepRefs(), SmartDataObjectPtr::findObject(), DataSvc::findObject(), EventCollectionSelector::getPreviousRecord(), histoAddr(), DataSvcHelpers::RegistryEntry::i_find(), SmartRefBase::isEqualEx(), DataSvc::linkObject(), GaudiAlg::Print::location(), DataSvc::objectLeaves(), DataSvc::objectParent(), oname(), Gaudi::Utils::Histos::path(), DataSvc::preLoad(), PoolDbIOHandler< T >::put(), NTupleSvc::readRecord(), DataSvc::registerAddress(), DataSvc::registerObject(), DataSvc::retrieveEntry(), AIDATupleSvc::retrieveObject(), SmartDataObjectPtr::retrieveObject(), DataSvc::retrieveObject(), NTupleSvc::save(), SmartDataLocator< TYPE >::SmartDataLocator(), SmartDataPtr< TYPE >::SmartDataPtr(), DataSvc::traverseSubTree(), DataSvc::unlinkObject(), DataSvc::unregisterAddress(), DataSvc::unregisterObject(), DataSvc::updateObject(), PoolDbBaseCnv::updateObjRefs(), RootHistCnv::RNTupleCnv::updateRep(), RootHistCnv::RDirectoryCnv::updateRep(), HbookCnv::HNTupleCnv::updateRep(), HbookCnv::HFileCnv::updateRep(), HbookCnv::HDirectoryCnv::updateRep(), and NTupleSvc::writeRecord().
00071 { 00072 return m_pRegistry; 00073 }
| LinkManager* DataObject::linkMgr | ( | ) | const [inline] |
Retrieve Link manager.
Definition at line 75 of file DataObject.h.
References m_pLinkMgr.
Referenced by Objects::access(), SmartRefBase::accessData(), PoolDbDataObjectHandler::bind(), PoolDbBaseCnv::dumpReferences(), SmartRefBase::isEqualEx(), SmartRefBase::path(), PoolDbIOHandler< T >::put(), PoolDbBaseCnv::setReferences(), and PoolDbBaseCnv::updateObjRefs().
00075 { 00076 return m_pLinkMgr; 00077 }
| const unsigned char DataObject::version | ( | ) | const [inline] |
Retrieve version number of this object representation.
Definition at line 79 of file DataObject.h.
References m_version.
00079 { 00080 return m_version; 00081 }
| void DataObject::setVersion | ( | unsigned char | vsn | ) | [inline] |
Set version number of this object representation.
Definition at line 83 of file DataObject.h.
References m_version.
00083 { 00084 m_version = vsn; 00085 }
| unsigned long DataObject::refCount | ( | ) | const [inline] |
Return the refcount.
Definition at line 87 of file DataObject.h.
References m_refCount.
00087 { 00088 return m_refCount; 00089 }
| virtual std::ostream& DataObject::fillStream | ( | std::ostream & | s | ) | const [inline, virtual] |
Fill the output stream (ASCII).
Reimplemented in ObjectList< TYPE >, and ObjectVector< TYPE >.
Definition at line 91 of file DataObject.h.
References std::hex(), and Gaudi::Units::s.
Referenced by GaudiPython::Printer< DataObject >::print().
| std::ostream& operator<< | ( | std::ostream & | s, | |
| const DataObject & | obj | |||
| ) | [friend] |
Output operator (ASCII).
Definition at line 96 of file DataObject.h.
00096 { 00097 return obj.fillStream(s); 00098 }
unsigned long DataObject::m_refCount [private] |
Reference count.
Definition at line 34 of file DataObject.h.
Referenced by addRef(), refCount(), release(), and ~DataObject().
unsigned char DataObject::m_version [private] |
Version number.
Reimplemented in AlgToolHistory.
Definition at line 36 of file DataObject.h.
Referenced by serialize(), setVersion(), and version().
IRegistry* DataObject::m_pRegistry [private] |
Pointer to the Registry Object.
Definition at line 38 of file DataObject.h.
Referenced by name(), registry(), and setRegistry().
LinkManager* DataObject::m_pLinkMgr [private] |
Store of symbolic links.
Definition at line 40 of file DataObject.h.
Referenced by DataObject(), linkMgr(), and ~DataObject().