Public Member Functions | Protected Attributes
RTT::base::PropertyBase Class Reference

#include <PropertyBase.hpp>

Inheritance diagram for RTT::base::PropertyBase:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual PropertyBaseclone () const =0
virtual bool compose (const PropertyBag &source)
virtual bool copy (const PropertyBase *other)=0
virtual PropertyBasecreate () const =0
virtual DataSourceBase::shared_ptr getDataSource () const =0
const std::string & getDescription () const
const std::string & getName () const
virtual std::string getType () const =0
virtual const types::TypeInfogetTypeInfo () const =0
virtual void identify (PropertyIntrospection *pi)=0
virtual void identify (PropertyBagVisitor *pi)
 PropertyBase (std::string name, std::string description)
 PropertyBase ()
bool ready () const
virtual bool refresh (const PropertyBase *other)=0
void setDescription (const std::string &desc)
void setName (const std::string &name)
virtual bool update (const PropertyBase *other)=0
virtual ~PropertyBase ()

Protected Attributes

std::string _description
std::string _name

Detailed Description

Base class for all properties.

Definition at line 56 of file PropertyBase.hpp.


Constructor & Destructor Documentation

The default destructor.

Definition at line 49 of file PropertyBase.cpp.

RTT::PropertyBase::PropertyBase ( std::string  name,
std::string  description 
)

The constructor.

Parameters:
nameThe name which will be used to refer to this property.
descriptionA more elaborate description of the property.

Definition at line 55 of file PropertyBase.cpp.

Create an uninitialised PropertyBase.

Definition at line 52 of file PropertyBase.cpp.


Member Function Documentation

virtual PropertyBase* RTT::base::PropertyBase::clone ( ) const [pure virtual]
bool RTT::PropertyBase::compose ( const PropertyBag source) [virtual]

Composes the data of this property with information found in a PropertyBag. This only works for data types that defined a compose/decompose function in their type info structure.

Definition at line 80 of file PropertyBase.cpp.

virtual bool RTT::base::PropertyBase::copy ( const PropertyBase other) [pure virtual]

Copy an other Property onto this property. Copy does a full update of the name, description and value, adding extra information if necessary, or in case of a Property<PropertyBag> adding all Properties.

Copy only works on properties that are ready() and both have the same data type T.

Returns:
false if the Properties are of different type.

Implemented in RTT::Property< T >, RTT::Property< std::vector< int > >, RTT::Property< double >, RTT::Property< std::string >, RTT::Property< float >, RTT::Property< int >, RTT::Property< std::vector< double > >, RTT::Property< string >, RTT::Property< vector< double > >, RTT::Property< char >, RTT::Property< bool >, and RTT::Property< PropertyBag >.

virtual PropertyBase* RTT::base::PropertyBase::create ( ) const [pure virtual]
const std::string& RTT::base::PropertyBase::getDescription ( ) const [inline]

Get a description of the property.

Returns:
description of the property.

Definition at line 94 of file PropertyBase.hpp.

const std::string& RTT::base::PropertyBase::getName ( ) const [inline]

Get the name of the property.

Returns:
name of the property.

Definition at line 82 of file PropertyBase.hpp.

virtual std::string RTT::base::PropertyBase::getType ( ) const [pure virtual]
virtual const types::TypeInfo* RTT::base::PropertyBase::getTypeInfo ( ) const [pure virtual]
virtual void RTT::base::PropertyBase::identify ( PropertyIntrospection pi) [pure virtual]
bool RTT::base::PropertyBase::ready ( ) const [inline]

Inspect if this Property is correctly initialised and ready for usage. A Property may only be used when ready() returns true, otherwise, an exception is thrown.

Definition at line 108 of file PropertyBase.hpp.

virtual bool RTT::base::PropertyBase::refresh ( const PropertyBase other) [pure virtual]

Refresh the value of this Property with the value of an other Property. Refresh does only the minimal update of the value, not adding extra information, or in case of a Property<PropertyBag> not adding extra Properties.

Refresh only works on properties that are ready() and both have the same data type T.

Returns:
false if the Properties are of different type.

Implemented in RTT::Property< T >, RTT::Property< std::vector< int > >, RTT::Property< double >, RTT::Property< std::string >, RTT::Property< float >, RTT::Property< int >, RTT::Property< std::vector< double > >, RTT::Property< string >, RTT::Property< vector< double > >, RTT::Property< char >, RTT::Property< bool >, and RTT::Property< PropertyBag >.

void RTT::PropertyBase::setDescription ( const std::string &  desc)

Set the description of the property.

Parameters:
descThe description of the property.

Definition at line 64 of file PropertyBase.cpp.

void RTT::PropertyBase::setName ( const std::string &  name)

Set the name of the property.

Parameters:
nameThe name of the property.

Definition at line 59 of file PropertyBase.cpp.

virtual bool RTT::base::PropertyBase::update ( const PropertyBase other) [pure virtual]

Update the value of this Property with the value of an other Property. Update does a full update of the value, adding extra information if necessary, or in case of a Property<PropertyBag> adding missing Properties.

Update only works on properties that are ready() and both have the same data type T.

Returns:
false if the Properties are of different type or if this->ready() == false.

Implemented in RTT::Property< T >, RTT::Property< std::vector< int > >, RTT::Property< double >, RTT::Property< std::string >, RTT::Property< float >, RTT::Property< int >, RTT::Property< std::vector< double > >, RTT::Property< string >, RTT::Property< vector< double > >, RTT::Property< char >, RTT::Property< bool >, and RTT::Property< PropertyBag >.


Member Data Documentation

std::string RTT::base::PropertyBase::_description [protected]

A lengthy description for this PropertyBase.

Definition at line 208 of file PropertyBase.hpp.

std::string RTT::base::PropertyBase::_name [protected]

A short name for this PropertyBase.

Definition at line 203 of file PropertyBase.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Thu Jan 2 2014 11:35:43