The Gaudi Framework  v29r0 (ff2e7097)
PropertyWithHandlers< Handler > Class Template Reference

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

#include <GaudiKernel/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...
 
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 ()=default
 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...
 
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="")
 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 786 of file Property.h.

Member Function Documentation

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 794 of file Property.h.

795  {
796  m_handlers.setReadHandler( std::move( fun ) );
797  return *this;
798  }
T move(T...args)
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 800 of file Property.h.

801  {
802  m_handlers.setUpdateHandler( std::move( fun ) );
803  return *this;
804  }
T move(T...args)
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 807 of file Property.h.

807 { return m_handlers.getReadHandler(); }
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 809 of file Property.h.

809 { return m_handlers.getUpdateHandler(); }
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 812 of file Property.h.

812 { m_handlers.useReadHandler( *this ); }
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 815 of file Property.h.

816  {
817  m_handlers.useUpdateHandler( *this );
818  return true;
819  }

Member Data Documentation

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

Definition at line 788 of file Property.h.


The documentation for this class was generated from the following file: