| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
GaudiHandleProperty Class Reference

`#include <Property.h>`

Inheritance diagram for GaudiHandleProperty:
[legend]
Collaboration diagram for GaudiHandleProperty:
[legend]

## Public Member Functions
| GaudiHandleProperty (const std::string &name, GaudiHandleBase &ref)
GaudiHandleProperty & | operator= (const GaudiHandleBase &value)
virtual GaudiHandleProperty * | clone () const
| clone: "virtual constructor"
virtual bool | load (Property &destination) const
| export the property value to the destination
virtual bool | assign (const Property &source)
| import the property value form the source
virtual std::string | toString () const
| value -> string
virtual void | toStream (std::ostream &out) const
| value -> stream
virtual StatusCode | fromString (const std::string &s)
| string -> value
const GaudiHandleBase & | value () const
bool | setValue (const GaudiHandleBase &value)
Public Member Functions inherited from Property
const std::string & | name () const
| property name
const std::string & | documentation () const
| property documentation
const std::type_info * | type_info () const
| property type-info
std::string | type () const
| property type
const PropertyCallbackFunctor * | readCallBack () const
| Call-back functor at reading: the functor is owned by property!
const PropertyCallbackFunctor * | updateCallBack () const
| Call-back functor for update: the functor is owned by property!
virtual void | declareReadHandler (PropertyCallbackFunctor *pf)
| set new callback for reading
virtual void | declareUpdateHandler (PropertyCallbackFunctor *pf)
| set new callback for update
template<class HT >
void | declareReadHandler (void(HT::*MF)(Property &), HT *instance)
template<class HT >
void | declareUpdateHandler (void(HT::*MF)(Property &), HT *instance)
virtual void | useReadHandler () const
| use the call-back function at reading
virtual bool | useUpdateHandler ()
| use the call-back function at update
virtual | ~Property ()
| virtual destructor
void | setName (const std::string &value)
| set the new value for the property name
void | setDocumentation (const std::string &documentation)
| set the documentation string
virtual std::ostream & | fillStream (std::ostream &) const
| the printout of the property value

## Private Attributes
GaudiHandleBase * | m_pValue
| Pointer to the real property.

## Additional Inherited Members
Protected Member Functions inherited from Property
| Property (const std::type_info &type, const std::string &name="")
| constructor from the property name and the type
| Property (const std::string &name, const std::type_info &type)
| constructor from the property name and the type
| Property (const Property &right)
| copy constructor
Property & | operator= (const Property &right)
| assignment operator
Protected Attributes inherited from Property
PropertyCallbackFunctor * | m_readCallBack
PropertyCallbackFunctor * | m_updateCallBack

## Detailed Description

Definition at line 808 of file Property.h.

## Constructor & Destructor Documentation

GaudiHandleProperty::GaudiHandleProperty | ( | const std::string & | name,
|  | GaudiHandleBase & | ref
| ) |  |

Definition at line 244 of file Property.cpp.

: Property( name, typeid( GaudiHandleBase ) ), m_pValue( &ref )
{
m_pValue->setPropertyName( name );
}

## Member Function Documentation

bool GaudiHandleProperty::assign | ( | const Property & | source | ) |
| inline virtual

import the property value form the source

Implements Property.

Definition at line 853 of file Property.h.

{
return fromString( source.toString() ).isSuccess();
}

GaudiHandleProperty * GaudiHandleProperty::clone | ( |  | ) | const
| inline virtual

clone: "virtual constructor"

Implements Property.

Definition at line 845 of file Property.h.

{
return new GaudiHandleProperty( *this );
}

StatusCode GaudiHandleProperty::fromString | ( | const std::string & | value | ) |
| virtual

string -> value

Implements Property.

Definition at line 265 of file Property.cpp.

{
m_pValue->setTypeAndName( s );
return useUpdateHandler()?StatusCode::SUCCESS:StatusCode::FAILURE;
}

bool GaudiHandleProperty::load | ( | Property & | dest | ) | const
| inline virtual

export the property value to the destination

Implements Property.

Definition at line 849 of file Property.h.

{
return destination.assign( *this );
}

GaudiHandleProperty & GaudiHandleProperty::operator= | ( | const GaudiHandleBase & | value | ) |
| inline

Definition at line 840 of file Property.h.

{
setValue( value );
return *this;
}

bool GaudiHandleProperty::setValue | ( | const GaudiHandleBase & | value | ) |

Definition at line 250 of file Property.cpp.

{
m_pValue->setTypeAndName( value.typeAndName() );
return useUpdateHandler();
}

void GaudiHandleProperty::toStream | ( | std::ostream & | out | ) | const
| virtual

value -> stream

Implements Property.

Definition at line 260 of file Property.cpp.

{
useReadHandler();
out << m_pValue->typeAndName();
}

std::string GaudiHandleProperty::toString | ( |  | ) | const
| virtual

value -> string

Implements Property.

Definition at line 255 of file Property.cpp.

{
useReadHandler();
return m_pValue->typeAndName();
}

const GaudiHandleBase & GaudiHandleProperty::value | ( |  | ) | const
| inline

Definition at line 857 of file Property.h.

{
useReadHandler();
return *m_pValue;
}

## Member Data Documentation

GaudiHandleBase* GaudiHandleProperty::m_pValue
| private

Pointer to the real property.

Reference would be better, but ROOT does not support references yet

Definition at line 833 of file Property.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/GaudiKernel/Property.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/src/Lib/Property.cpp