The Gaudi Framework  master (594c33fa)
PropertyWithHandlers< Handler > Class Template Reference

Helper class to simplify the migration old properties deriving directly from PropertyBase. More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Property.h>

Inheritance diagram for PropertyWithHandlers< Handler >:
Collaboration diagram for PropertyWithHandlers< Handler >:

Public Member Functions

PropertyBasedeclareReadHandler (std::function< void(PropertyBase &)> fun) override
 set new callback for reading More...
 
PropertyBasedeclareUpdateHandler (std::function< void(PropertyBase &)> fun) override
 set new callback for update More...
 
const std::function< void(PropertyBase &)> readCallBack () const override
 get a reference to the readCallBack More...
 
const std::function< void(PropertyBase &)> updateCallBack () const override
 get a reference to the updateCallBack More...
 
void useReadHandler () const
 use the call-back function at reading, if available More...
 
bool useUpdateHandler () override
 use the call-back function at update, if available More...
 
- Public Member Functions inherited from Gaudi::Details::PropertyBase
const std::string name () const
 property name More...
 
std::string documentation () const
 property documentation More...
 
std::string semantics () const
 property semantics More...
 
const std::type_infotype_info () const
 property type-info More...
 
std::string type () const
 property type More...
 
virtual bool load (PropertyBase &dest) const =0
 export the property value to the destination More...
 
virtual bool assign (const PropertyBase &source)=0
 import the property value form the source More...
 
virtual std::string toString () const =0
 value -> string More...
 
virtual void toStream (std::ostream &out) const =0
 value -> stream More...
 
virtual StatusCode fromString (const std::string &value)=0
 string -> value More...
 
virtual PropertyBasedeclareReadHandler (std::function< void(PropertyBase &)> fun)=0
 set new callback for reading More...
 
virtual PropertyBasedeclareUpdateHandler (std::function< void(PropertyBase &)> fun)=0
 set new callback for update More...
 
template<class HT >
PropertyBasedeclareReadHandler (void(HT::*MF)(PropertyBase &), HT *instance)
 
template<class HT >
PropertyBasedeclareUpdateHandler (void(HT::*MF)(PropertyBase &), HT *instance)
 
virtual ~PropertyBase ()
 virtual destructor More...
 
void setName (std::string value)
 set the new value for the property name More...
 
void setDocumentation (std::string value)
 set the documentation string More...
 
void setSemantics (std::string value)
 set the semantics string More...
 
virtual std::ostreamfillStream (std::ostream &) const
 the printout of the property value More...
 
virtual PropertyBaseclone () const =0
 clones the current property More...
 
void setOwnerType (const std::type_info &ownerType)
 set the type of the owner class (used for documentation) More...
 
template<class OWNER >
void setOwnerType ()
 set the type of the owner class (used for documentation) More...
 
const std::type_infoownerType () const
 get the type of the owner class (used for documentation) More...
 
std::string ownerTypeName () const
 get the string for the type of the owner class (used for documentation) More...
 

Private Attributes

Handler m_handlers
 

Additional Inherited Members

- Protected Member Functions inherited from Gaudi::Details::PropertyBase
 PropertyBase (const std::type_info &type, std::string name="", std::string doc="", std::string semantics="")
 constructor from the property name and the type More...
 
 PropertyBase (std::string name, const std::type_info &type)
 constructor from the property name and the type More...
 
 PropertyBase (const PropertyBase &)=default
 copy constructor More...
 
PropertyBaseoperator= (const PropertyBase &)=default
 assignment operator More...
 

Detailed Description

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
class PropertyWithHandlers< Handler >

Helper class to simplify the migration old properties deriving directly from PropertyBase.

Definition at line 541 of file Property.h.

Member Function Documentation

◆ declareReadHandler()

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
PropertyBase& PropertyWithHandlers< Handler >::declareReadHandler ( std::function< void(PropertyBase &)>  fun)
inlineoverride

set new callback for reading

Definition at line 548 of file Property.h.

548  {
549  m_handlers.setReadHandler( std::move( fun ) );
550  return *this;
551  }

◆ declareUpdateHandler()

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
PropertyBase& PropertyWithHandlers< Handler >::declareUpdateHandler ( std::function< void(PropertyBase &)>  fun)
inlineoverride

set new callback for update

Definition at line 553 of file Property.h.

553  {
554  m_handlers.setUpdateHandler( std::move( fun ) );
555  return *this;
556  }

◆ readCallBack()

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
const std::function<void( PropertyBase& )> PropertyWithHandlers< Handler >::readCallBack ( ) const
inlineoverridevirtual

get a reference to the readCallBack

Implements Gaudi::Details::PropertyBase.

Definition at line 559 of file Property.h.

559 { return m_handlers.getReadHandler(); }

◆ updateCallBack()

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
const std::function<void( PropertyBase& )> PropertyWithHandlers< Handler >::updateCallBack ( ) const
inlineoverridevirtual

get a reference to the updateCallBack

Implements Gaudi::Details::PropertyBase.

Definition at line 561 of file Property.h.

561 { return m_handlers.getUpdateHandler(); }

◆ useReadHandler()

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
void PropertyWithHandlers< Handler >::useReadHandler ( ) const
inline

use the call-back function at reading, if available

Definition at line 564 of file Property.h.

564 { m_handlers.useReadHandler( *this ); }

◆ useUpdateHandler()

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
bool PropertyWithHandlers< Handler >::useUpdateHandler ( )
inlineoverridevirtual

use the call-back function at update, if available

Implements Gaudi::Details::PropertyBase.

Definition at line 567 of file Property.h.

567  {
568  m_handlers.useUpdateHandler( *this );
569  return true;
570  }

Member Data Documentation

◆ m_handlers

template<typename Handler = typename Gaudi::Details::Property::UpdateHandler>
Handler PropertyWithHandlers< Handler >::m_handlers
private

Definition at line 542 of file Property.h.


The documentation for this class was generated from the following file:
std::move
T move(T... args)
PropertyWithHandlers::m_handlers
Handler m_handlers
Definition: Property.h:542