8 #include <boost/tokenizer.hpp> 17 :
Gaudi::v1::DataHandle( other )
18 , m_EDS(
std::move( other.m_EDS ) )
19 , m_MS(
std::move( other.m_MS ) )
20 , m_init( other.m_init )
21 , m_optional( other.m_optional )
22 , m_wasRead( other.m_wasRead )
23 , m_wasWritten( other.m_wasWritten )
24 , m_searchDone( other.m_searchDone )
79 std::cerr << (
owner() ?
owner()->name() :
"<UNKNOWN>:" ) <<
"DataObjectHandle: uninitialized data handle" 97 auto tokens = boost::tokenizer<boost::char_separator<char>>{
objKey(), boost::char_separator<char>{
":"}};
101 if ( alt != tokens.end() ) {
103 log <<
MSG::DEBUG <<
": could not find \"" <<
objKey() <<
"\" -- using alternative source: \"" << *alt
104 <<
"\" instead" <<
endmsg;
132 if ( !
owner() )
return false;
165 if ( d.
owner() ) str <<
" o: " << d.
owner()->name();
constexpr static const auto FAILURE
void setWritten(bool wasWritten=true)
Definition of the MsgStream class used to transmit messages.
virtual ~DataObjectHandleBase()
Define general base for Gaudi exception.
SmartIF< IDataProviderSvc > m_EDS
virtual IDataHandleHolder * owner() const
IDataHandleHolder * m_owner
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
DataObjectHandleBase(const DataObjID &k, Gaudi::v1::DataHandle::Mode a, IDataHandleHolder *owner)
void setRead(bool wasRead=true)
std::string toString() const
bool m_searchDone
Whether the search part of the fetch method (so dealing with alt names was already executed or not...
Provide serialization function (output only) for some common STL classes (vectors, lists, pairs, maps) plus GaudiUtils::Map and GaudiUtils::HashMap.
PropertyMgr & operator=(const PropertyMgr &)=delete
DataObjectHandleBase & operator=(const DataObjectHandleBase &)
Entity which holds DataHandles and can track the associated data dependencies for the Scheduler...
DataHandle(const DataObjID &k, Mode a=Reader, IDataHandleHolder *owner=nullptr)
virtual void renounce(Gaudi::v1::DataHandle &)=0
Discard ownership of a legacy DataHandle.
This class is used for returning status codes from appropriate routines.
virtual const DataObjID & fullKey() const
virtual Mode mode() const
const DataObjID INVALID_DATAOBJID
const SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
virtual void setKey(const DataObjID &key) const
virtual StatusCode retrieveObject(IRegistry *pDirectory, boost::string_ref path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
void fromString(const std::string &s)
Base class from which all concrete algorithm classes should be derived.
SmartIF< IDataProviderSvc > & evtSvc() const
shortcut for method eventSvc
DataObjectHandleBase GaudiKernel/DataObjectHandleBase.h.
const StatusCode & ignore() const
Ignore/check StatusCode.
std::mutex m_searchMutex
A Mutex protecting the calls to the search part of the fetch method, so that we are sure that we only...
virtual void declare(Gaudi::v1::DataHandle &)=0
Declare ownership of a legacy DataHandle.
std::string pythonRepr() const override
DataObject * fetch() const
SmartIF< IMessageSvc > m_MS
virtual const std::string & objKey() const
bool isOptional() const
Check if the data object declared is optional for the algorithm.
A DataObject is the base class of any identifiable object on any data store.
friend std::ostream & operator<<(std::ostream &str, const DataObjectHandleBase &d)
Helper functions to set/get the application return code.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.