2 #include "GaudiKernel/StreamBuffer.h"
3 #include "GaudiKernel/LinkManager.h"
4 #include "GaudiKernel/DataObject.h"
5 #include "GaudiKernel/IInspector.h"
6 #include "GaudiKernel/IRegistry.h"
10 static std::string _sDataObjectCppNotRegistered(
"NotRegistered");
34 : m_version{std::move(rhs.m_version)},
35 m_pLinkMgr{std::move(rhs.m_pLinkMgr)}
58 if ( 0 == cnt )
delete this;
69 return CLID_DataObject;
74 return CLID_DataObject;
90 static std::vector<DataObject**>& objectStack() {
91 static std::unique_ptr<std::vector<DataObject**>>
s_current{
new std::vector<DataObject**>()};
100 static std::vector<DataObject**>&
c = objectStack();
101 c.push_back(pobjAddr);
102 s_currObj = pobjAddr ? pobjAddr : &s_objPtr;
106 static std::vector<DataObject**>& c = objectStack();
108 s_currObj = c.back();
111 s_currObj = &s_objPtr;
virtual StatusCode update()
Provide empty placeholder for internal object reconfiguration callback.
static const CLID & classID()
Retrieve reference to class definition structure (static access)
GAUDI_API void popCurrentDataObject()
GAUDI_API DataObject * getCurrentDataObject()
virtual const name_type & name() const =0
Name of the directory (or key)
unsigned char m_version
Version number.
virtual unsigned long addRef()
Add reference to object.
virtual const CLID & clID() const
Retrieve reference to class definition structure.
This class is used for returning status codes from appropriate routines.
static LinkManager * newInstance()
Static instantiation.
GAUDI_API void pushCurrentDataObject(DataObject **pobjAddr)
DataObject()
Standard Constructor.
virtual unsigned long release()
release reference to object
std::unique_ptr< LinkManager > m_pLinkMgr
Store of symbolic links.
DataObject & operator=(const DataObject &rhs)
Assignment Operator.
const std::string & name() const
Retreive DataObject name. It is the name when registered in the store.
virtual ~DataObject()
Standard Destructor.
IRegistry * m_pRegistry
Pointer to the Registry Object.
unsigned int CLID
Class ID definition.
A DataObject is the base class of any identifiable object on any data store.
THREAD_LOCAL_PTR Partition * s_current(0)
unsigned long m_refCount
Reference count.