$search

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 (PropertyBagVisitor *pi)
virtual void identify (PropertyIntrospection *pi)=0
 PropertyBase ()
 PropertyBase (std::string name, std::string description)
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

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:
name The name which will be used to refer to this property.
description A 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< 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]
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 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]
void RTT::PropertyBase::identify ( PropertyBagVisitor pi  )  [virtual]

A call on this method will lead to a call to the PropertyBagIntrospection interface identifying this Property's proper type.

Deprecated:
DO NOT USE. Will be removed in 2.x release series.

Reimplemented 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 >, RTT::Property< PropertyBag >, RTT::Property< T >, and RTT::Property< T >.

Definition at line 47 of file Property.cpp.

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:
desc The 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:
name The 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Mar 1 16:27:42 2013