Public Member Functions | Protected Attributes | List of all members
RTT::base::PropertyBase Class Referenceabstract

#include <PropertyBase.hpp>

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

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 PropertyBasecreate (const base::DataSourceBase::shared_ptr &datasource) 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)
 
virtual PropertyBaseoperator= (PropertyBase *source)=0
 
 PropertyBase (std::string name, std::string description)
 
 PropertyBase ()
 
bool ready () const
 
virtual bool refresh (const PropertyBase *other)=0
 
virtual bool setDataSource (const DataSourceBase::shared_ptr &dsb)=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

RTT::PropertyBase::~PropertyBase ( )
virtual

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.

RTT::PropertyBase::PropertyBase ( )

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< unsigned long long >, RTT::Property< float >, RTT::Property< int >, RTT::Property< unsigned int >, RTT::Property< std::vector< double > >, RTT::Property< string >, RTT::Property< long long >, RTT::Property< vector< double > >, RTT::Property< char >, RTT::Property< bool >, and RTT::Property< PropertyBag >.

virtual PropertyBase* RTT::base::PropertyBase::create ( ) const
pure virtual
virtual PropertyBase* RTT::base::PropertyBase::create ( const base::DataSourceBase::shared_ptr datasource) const
pure virtual
virtual DataSourceBase::shared_ptr RTT::base::PropertyBase::getDataSource ( ) 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 100 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 88 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
void RTT::PropertyBase::identify ( PropertyBagVisitor pi)
virtual
virtual PropertyBase& RTT::base::PropertyBase::operator= ( PropertyBase source)
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 114 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< unsigned long long >, RTT::Property< float >, RTT::Property< int >, RTT::Property< unsigned int >, RTT::Property< std::vector< double > >, RTT::Property< string >, RTT::Property< long long >, RTT::Property< vector< double > >, RTT::Property< char >, RTT::Property< bool >, and RTT::Property< PropertyBag >.

virtual bool RTT::base::PropertyBase::setDataSource ( const DataSourceBase::shared_ptr dsb)
pure virtual
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< unsigned long long >, RTT::Property< float >, RTT::Property< int >, RTT::Property< unsigned int >, RTT::Property< std::vector< double > >, RTT::Property< string >, RTT::Property< long long >, 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 228 of file PropertyBase.hpp.

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

A short name for this PropertyBase.

Definition at line 223 of file PropertyBase.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:42