|
Gaudi Framework, version v21r11 |
| Home | Generated: 30 Sep 2010 |
#include <GaudiKernel/Property.h>
Public Member Functions | |
| 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 | |
| virtual bool | load (Property &dest) const =0 |
| export the property value to the destination | |
| virtual bool | assign (const Property &source)=0 |
| import the property value form the source | |
| virtual std::string | toString () const =0 |
| value -> string | |
| virtual StatusCode | fromString (const std::string &value)=0 |
| string -> value | |
| 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 | |
| virtual Property * | clone () const =0 |
| clone: "virtual constructor" | |
| 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 | |
Protected Member Functions | |
| 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 | |
| PropertyCallbackFunctor * | m_readCallBack |
| PropertyCallbackFunctor * | m_updateCallBack |
Private Member Functions | |
| Property () | |
Private Attributes | |
| std::string | m_name |
| std::string | m_documentation |
| const std::type_info * | m_typeinfo |
Definition at line 43 of file Property.h.
| Property::~Property | ( | ) | [virtual] |
virtual destructor
Definition at line 112 of file Property.cpp.
00113 { 00114 if ( 0 != m_readCallBack ) 00115 { delete m_readCallBack ; m_readCallBack = 0 ; } 00116 if ( 0 != m_updateCallBack ) 00117 { delete m_updateCallBack ; m_updateCallBack = 0 ; } 00118 }
| Property::Property | ( | const std::type_info & | type, | |
| const std::string & | name = "" | |||
| ) | [protected] |
constructor from the property name and the type
Definition at line 48 of file Property.cpp.
00050 : m_name ( name ) 00051 , m_documentation ( name ) 00052 , m_typeinfo ( &type ) 00053 , m_readCallBack ( 0 ) 00054 , m_updateCallBack ( 0 ) 00055 {}
| Property::Property | ( | const std::string & | name, | |
| const std::type_info & | type | |||
| ) | [protected] |
constructor from the property name and the type
Definition at line 63 of file Property.cpp.
00065 : m_name ( name ) 00066 , m_documentation ( name ) 00067 , m_typeinfo ( &type ) 00068 , m_readCallBack ( 0 ) 00069 , m_updateCallBack ( 0 ) 00070 {}
| Property::Property | ( | const Property & | right | ) | [protected] |
copy constructor
Definition at line 75 of file Property.cpp.
00076 : m_name ( right.m_name ) 00077 , m_documentation ( right.m_documentation ) 00078 , m_typeinfo ( right.m_typeinfo ) 00079 , m_readCallBack ( 0 ) 00080 , m_updateCallBack ( 0 ) 00081 { 00082 if ( 0 != right.m_readCallBack ) 00083 { m_readCallBack = right.m_readCallBack -> clone () ; } 00084 if ( 0 != right.m_updateCallBack ) 00085 { m_updateCallBack = right.m_updateCallBack -> clone () ; } 00086 }
| Property::Property | ( | ) | [private] |
| const std::string& Property::name | ( | ) | const [inline] |
| const std::string& Property::documentation | ( | ) | const [inline] |
| const std::type_info* Property::type_info | ( | ) | const [inline] |
| std::string Property::type | ( | ) | const [inline] |
| virtual bool Property::load | ( | Property & | dest | ) | const [pure virtual] |
export the property value to the destination
Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, PropertyList, PropertyWithValue< double >, PropertyWithValue< std::string >, PropertyWithValue< std::vector< std::string > >, PropertyWithValue< int >, PropertyWithValue< unsigned int >, and PropertyWithValue< bool >.
| virtual bool Property::assign | ( | const Property & | source | ) | [pure virtual] |
import the property value form the source
Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, PropertyList, PropertyWithValue< double >, PropertyWithValue< std::string >, PropertyWithValue< std::vector< std::string > >, PropertyWithValue< int >, PropertyWithValue< unsigned int >, and PropertyWithValue< bool >.
| virtual std::string Property::toString | ( | ) | const [pure virtual] |
value -> string
Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, PropertyWithValue< double >, PropertyWithValue< std::string >, PropertyWithValue< std::vector< std::string > >, PropertyWithValue< int >, PropertyWithValue< unsigned int >, and PropertyWithValue< bool >.
| virtual StatusCode Property::fromString | ( | const std::string & | value | ) | [pure virtual] |
string -> value
Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, PropertyWithValue< double >, PropertyWithValue< std::string >, PropertyWithValue< std::vector< std::string > >, PropertyWithValue< int >, PropertyWithValue< unsigned int >, and PropertyWithValue< bool >.
| const PropertyCallbackFunctor * Property::readCallBack | ( | ) | const |
Call-back functor at reading: the functor is owned by property!
Definition at line 122 of file Property.cpp.
00123 { return m_readCallBack ; }
| const PropertyCallbackFunctor * Property::updateCallBack | ( | ) | const |
Call-back functor for update: the functor is owned by property!
Definition at line 127 of file Property.cpp.
00128 { return m_updateCallBack ; }
| void Property::declareReadHandler | ( | PropertyCallbackFunctor * | pf | ) | [virtual] |
set new callback for reading
Definition at line 132 of file Property.cpp.
00133 { 00134 if ( 0 != m_readCallBack ) 00135 { delete m_readCallBack ; m_readCallBack = 0 ; } 00136 m_readCallBack = pf ; 00137 }
| void Property::declareUpdateHandler | ( | PropertyCallbackFunctor * | pf | ) | [virtual] |
set new callback for update
Definition at line 141 of file Property.cpp.
00142 { 00143 if ( 0 != m_updateCallBack ) 00144 { delete m_updateCallBack ; m_updateCallBack = 0 ; } 00145 m_updateCallBack = pf ; 00146 }
| void Property::declareReadHandler | ( | void(HT::*)(Property &) | MF, | |
| HT * | instance | |||
| ) | [inline] |
Definition at line 128 of file Property.h.
00129 { declareReadHandler ( new PropertyCallbackMemberFunctor< HT >( MF , obj ) ) ; }
| void Property::declareUpdateHandler | ( | void(HT::*)(Property &) | MF, | |
| HT * | instance | |||
| ) | [inline] |
Definition at line 133 of file Property.h.
00134 { declareUpdateHandler ( new PropertyCallbackMemberFunctor< HT >( MF , obj ) ) ; }
| void Property::useReadHandler | ( | ) | const [virtual] |
use the call-back function at reading
Definition at line 150 of file Property.cpp.
00151 { 00152 if ( 0 == m_readCallBack ) { return ; } // RETURN 00153 const Property& p = *this ; 00154 PropertyCallbackFunctor* theCallBack = m_readCallBack; 00155 // avoid infinite loop 00156 m_readCallBack = 0; 00157 (*theCallBack)( const_cast<Property&>(p) ) ; 00158 m_readCallBack = theCallBack; 00159 }
| bool Property::useUpdateHandler | ( | ) | [virtual] |
use the call-back function at update
Definition at line 163 of file Property.cpp.
00164 { 00165 bool sc(true); 00166 if ( 0 == m_updateCallBack ) { return sc; } // RETURN 00167 PropertyCallbackFunctor* theCallBack = m_updateCallBack; 00168 // avoid infinite loop 00169 m_updateCallBack = 0; 00170 try { 00171 (*theCallBack)( *this ) ; 00172 } catch(...) { 00173 sc = false; 00174 } 00175 m_updateCallBack = theCallBack; 00176 return sc; 00177 }
| virtual Property* Property::clone | ( | ) | const [pure virtual] |
clone: "virtual constructor"
Implemented in SimpleProperty< TYPE, VERIFIER >, SimplePropertyRef< TYPE, VERIFIER >, GaudiHandleProperty, GaudiHandleArrayProperty, SimpleProperty< double >, SimpleProperty< std::string >, SimpleProperty< std::vector< std::string > >, SimpleProperty< int >, SimpleProperty< unsigned int >, and SimpleProperty< bool >.
| void Property::setName | ( | const std::string & | value | ) | [inline] |
set the new value for the property name
Definition at line 88 of file Property.h.
00088 { m_name = value ; }
| void Property::setDocumentation | ( | const std::string & | documentation | ) | [inline] |
set the documentation string
Definition at line 90 of file Property.h.
00090 { 00091 m_documentation = documentation; };
| std::ostream & Property::fillStream | ( | std::ostream & | stream | ) | const [virtual] |
assignment operator
Definition at line 90 of file Property.cpp.
00091 { 00092 if ( &right == this ) { return *this ; } 00093 // 00094 m_name = right.m_name ; 00095 m_documentation = right.m_documentation ; 00096 m_typeinfo = right.m_typeinfo ; 00097 // 00098 if ( 0 != m_readCallBack ) 00099 { delete m_readCallBack ; m_readCallBack = 0 ; } 00100 if ( 0 != m_updateCallBack ) 00101 { delete m_updateCallBack ; m_updateCallBack = 0 ; } 00102 if ( 0 != right.m_readCallBack ) 00103 { m_readCallBack = right.m_readCallBack -> clone () ; } 00104 if ( 0 != right.m_updateCallBack ) 00105 { m_updateCallBack = right.m_updateCallBack -> clone () ; } 00106 // 00107 return *this ; 00108 }
std::string Property::m_name [private] |
Definition at line 112 of file Property.h.
std::string Property::m_documentation [private] |
Definition at line 114 of file Property.h.
const std::type_info* Property::m_typeinfo [private] |
Definition at line 116 of file Property.h.
PropertyCallbackFunctor* Property::m_readCallBack [mutable, protected] |
Definition at line 119 of file Property.h.
PropertyCallbackFunctor* Property::m_updateCallBack [protected] |
Definition at line 121 of file Property.h.