12 static std::string _sDataObjectCppNotRegistered(
"NotRegistered");
59 return CLID_DataObject;
64 return CLID_DataObject;
73 return _sDataObjectCppNotRegistered;
85 static std::vector<DataObject**>& objectStack() {
86 static std::auto_ptr<std::vector<DataObject**> > s_current;
87 if ( 0 == s_current.get() ) {
88 s_current = std::auto_ptr<std::vector<DataObject**> >(
new std::vector<DataObject**>());
90 return *(s_current.get());
98 static std::vector<DataObject**>&
c = objectStack();
99 c.push_back(pobjAddr);
100 s_currObj = pobjAddr ? pobjAddr : &s_objPtr;
105 static std::vector<DataObject**>& c = objectStack();
108 s_currObj = c.back();
112 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)
LinkManager * m_pLinkMgr
Store of symbolic links.
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.
unsigned int CLID
Class ID definition.
GAUDI_API void pushCurrentDataObject(DataObject **pobjAddr)
DataObject()
Standard Constructor.
virtual unsigned long release()
release reference to object
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.
A DataObject is the base class of any identifiable object on any data store.
unsigned long m_refCount
Reference count.