1 #ifndef GAUDIKERNEL_DATAHANDLE
2 #define GAUDIKERNEL_DATAHANDLE 1
4 #include "GaudiKernel/Parsers.h"
5 #include "GaudiKernel/Property.h"
6 #include "GaudiKernel/PropertyMgr.h"
7 #include "GaudiKernel/ToStream.h"
8 #include "GaudiKernel/DataObjID.h"
11 class IDataHandleHolder;
27 IDataHandleHolder*
owner=0):
33 virtual IDataHandleHolder*
owner()
const {
return m_owner; }
43 virtual void reset(
bool) {};
47 std::ostringstream ost;
48 ost <<
"DataHandle(\"" <<
fullKey() <<
"|"
49 << std::to_string(
mode()) <<
"\")";
78 toStream(
const DataHandle& v, std::ostream& o);
103 virtual std::string
toString()
const;
105 virtual void toStream(std::ostream& out)
const;
139 return destination.
assign( *
this );
virtual void setKey(const DataObjID &key)
const Gaudi::DataHandle & value() const
virtual void useReadHandler() const
use the call-back function at reading
virtual bool assign(const Property &source)=0
import the property value form the source
virtual void setOwner(IDataHandleHolder *o)
virtual std::string toString() const =0
value -> string
SimplePropertyRef templated class.
const std::string & name() const
property name
virtual DataHandleProperty * clone() const
clone: "virtual constructor"
virtual const std::string & objKey() const
virtual Mode mode() const
bool setValue(const Gaudi::DataHandle &value)
~SimplePropertyRef() override=default
virtual Destructor
void updateKey(const std::string &key)
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
virtual bool load(Property &dest) const =0
export the property value to the destination
virtual bool assign(const Property &source)
import the property value form the source
virtual const DataObjID & fullKey() const
IDataHandleHolder * m_owner
std::ostream & toStream(ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
the helper function to print the sequence
This class is used for returning status codes from appropriate routines.
virtual const std::string pythonRepr() const
const std::string & key() const
DataHandleProperty(const std::string &name, Gaudi::DataHandle &ref)
Constructor with parameters:
virtual void updateKey(const std::string &key)
const TYPE & value() const
explicit conversion
virtual bool load(Property &destination) const
export the property value to the destination
Property & operator=(const Property &)=default
assignment operator
Property base class allowing Property* collections to be "homogeneous".
virtual void setMode(const Mode &mode)
DataHandleProperty & operator=(const Gaudi::DataHandle &value)
Assignment operator:
virtual StatusCode commit()
virtual StatusCode fromString(const std::string &s)
string -> value
Gaudi::DataHandle * m_pValue
Pointer to the real property.
virtual Property * clone() const =0
clone: "virtual constructor"
Helper functions to set/get the application return code.
virtual IDataHandleHolder * owner() const
virtual void toStream(std::ostream &out) const =0
value -> stream
virtual StatusCode fromString(const std::string &value)=0
string -> value