Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Property Class Reference

Property base class allowing Property* collections to be "homogeneus". More...

#include <GaudiKernel/Property.h>

Inheritance diagram for Property:

PropertyList SimpleProperty SimplePropertyRef CommandProperty List of all members.

Public Methods

virtual ~Property ()
const std::string& name () const
const std::type_info& type_info () const
const std::string type () const
virtual bool isRef () const = 0
virtual const PropertyCallbackFunctorreadCallback () const
virtual const PropertyCallbackFunctorupdateCallback () const
void setName ( const std::string& name )
void setType ( const std::string& type )
virtual std::istream& nameAndValueFromStream ( std::istream& )
std::istream& nameFromStream ( std::istream& )
virtual std::istream& valueFromStream ( std::istream& ) = 0
virtual std::ostream& nameAndValueAsStream ( std::ostream& ) const = 0
virtual PropertyRefcloneRef () const = 0
virtual bool load ( Property& destination ) const = 0
virtual bool assign ( const Property& source ) = 0
void declareReadHandler ( void ( * callbackFunctionPointer ) ( Property& ) )
template<classHT> void declareReadHandler ( void ( HT::* callbackMemberPointer ) ( Property& ), HT* instance )
void declareUpdateHandler ( void ( * callbackFunctionPointer ) ( Property& ) )
template<classHT> void declareUpdateHandler ( void ( HT::* callbackMemberPointer ) ( Property& ), HT* instance )
virtual std::ostream& valueElementAsStream ( std::ostream&, size_t index ) const = 0
virtual std::istream& valueElementFromStream ( std::istream& ) = 0

Protected Methods

 Property ( const std::string& name, const std::type_info& type_info )

Protected Attributes

std::string m_name
const std::type_info* m_type_info
PropertyCallbackFunctorm_readCallback
PropertyCallbackFunctorm_updateCallback

Detailed Description

Property base class allowing Property* collections to be "homogeneus".

Author(s):
Paul Maley , CTDay

Definition at line 46 of file Property.h.


Constructor & Destructor Documentation

Property::~Property ( ) [inline, virtual]
 

Definition at line 51 of file Property.h.

Property::Property ( const std::string & name,
const std::type_info & type_info ) [inline, protected]
 

Definition at line 123 of file Property.h.


Member Function Documentation

virtual bool Property::assign ( const Property & p ) [pure virtual]
 

Reimplemented in SimpleProperty, SimplePropertyRef, and PropertyList.

virtual PropertyRef* Property::cloneRef ( ) const [pure virtual]
 

Reimplemented in SimpleProperty, and SimplePropertyRef.

template<classHT>
void Property::declareReadHandler ( void(HT::* callbackMemberPointer)(Property &),
HT * instance ) [inline]
 

Definition at line 97 of file Property.h.

void Property::declareReadHandler ( void(* callbackFunctionPointer)(Property &) ) [inline]
 

Definition at line 91 of file Property.h.

template<classHT>
void Property::declareUpdateHandler ( void(HT::* callbackMemberPointer)(Property &),
HT * instance ) [inline]
 

Definition at line 109 of file Property.h.

void Property::declareUpdateHandler ( void(* callbackFunctionPointer)(Property &) ) [inline]
 

Definition at line 103 of file Property.h.

virtual bool Property::isRef ( ) const [pure virtual]
 

Reimplemented in SimpleProperty, SimplePropertyRef, and PropertyList.

Referenced by SimplePropertyRef::assign(), SimpleProperty::assign(), SimplePropertyRef::load(), and SimpleProperty::load().

virtual bool Property::load ( Property & p ) const [pure virtual]
 

Reimplemented in SimpleProperty, SimplePropertyRef, and PropertyList.

Referenced by PropertyMgr::getProperty().

const std::string & Property::name ( ) const [inline]
 

Definition at line 65 of file Property.h.

Referenced by PropertyList::assign(), PropertyMgr::getProperty(), PropertyList::load(), PropertyList::removeProperty(), and PropertyMgr::setProperty().

virtual std::ostream& Property::nameAndValueAsStream ( std::ostream & o ) const [pure virtual]
 

Reimplemented in SimpleProperty, and SimplePropertyRef.

Referenced by PropertyMgr::getProperty().

std::istream & Property::nameAndValueFromStream ( std::istream & i ) [virtual]
 

Reimplemented in SimpleProperty, and SimplePropertyRef.

Definition at line 102 of file Property.cpp.

Referenced by SimplePropertyRef::nameAndValueFromStream(), and SimpleProperty::nameAndValueFromStream().

std::istream & Property::nameFromStream ( std::istream & i )
 

Definition at line 91 of file Property.cpp.

Referenced by nameAndValueFromStream(), and PropertyMgr::setProperty().

const PropertyCallbackFunctor * Property::readCallback ( ) const [inline, virtual]
 

Definition at line 70 of file Property.h.

void Property::setName ( const std::string & name ) [inline]
 

Definition at line 75 of file Property.h.

Referenced by PropertyList::addProperty().

void Property::setType ( const std::string & type )
 

const std::string Property::type ( ) const [inline]
 

Definition at line 67 of file Property.h.

const std::type_info & Property::type_info ( ) const [inline]
 

Definition at line 66 of file Property.h.

const PropertyCallbackFunctor * Property::updateCallback ( ) const [inline, virtual]
 

Definition at line 72 of file Property.h.

virtual std::ostream& Property::valueElementAsStream ( std::ostream & o,
size_t index ) const [pure virtual]
 

Reimplemented in SimpleProperty, and SimplePropertyRef.

virtual std::istream& Property::valueElementFromStream ( std::istream & i ) [pure virtual]
 

Reimplemented in SimpleProperty, and SimplePropertyRef.

Referenced by ARRAYPROPERTIES().

virtual std::istream& Property::valueFromStream ( std::istream & i ) [pure virtual]
 

Reimplemented in SimpleProperty, and SimplePropertyRef.

Referenced by nameAndValueFromStream(), and PropertyMgr::setProperty().


Member Data Documentation

std::string Property::m_name [protected]
 

Definition at line 131 of file Property.h.

PropertyCallbackFunctor * Property::m_readCallback [protected]
 

Definition at line 133 of file Property.h.

const std::type_info * Property::m_type_info [protected]
 

Definition at line 132 of file Property.h.

PropertyCallbackFunctor * Property::m_updateCallback [protected]
 

Definition at line 134 of file Property.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:22:14 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000