#include <rtt/Property.hpp>
Inheritance diagram for Property:

A property is a tuple of a name, a description and a variable of any type. It's purpose is to provide an easy to manipulate parameter of an object by external entities. They can be grouped in PropertyBag objects and a Property can contain a PropertyBag itself.
If you do not provide a name nor description when constructing the Property object, it will be uninitialised and ready() will return false. Such an object may not be used (set(), get(),...) until it has been initialised from another Property. Otherwise, an exception (or assert) will be thrown.
| T | The type of the data contained within the Property. |
Public Types | |
| typedef boost::remove_const < typename boost::remove_reference< T >::type >::type | value_t |
| The types of this property type. | |
|
typedef boost::call_traits< value_t >::param_type | param_t |
|
typedef boost::call_traits< value_t >::reference | reference_t |
|
typedef boost::call_traits< value_t >::const_reference | const_reference_t |
| typedef value_t | DataSourceType |
Public Member Functions | |
| Property () | |
| Create an empty Property with no name, no description and no value. | |
| Property (const std::string &name, const std::string &description, param_t value=value_t()) | |
| The constructor which initializes the property's value. | |
| Property (const Property< T > &orig) | |
| Copy constructors copies the name, description and value as deep copies. | |
| Property (PropertyBase *source) | |
| Create a Property mirroring another PropertyBase. | |
| Property (const std::string &name, const std::string &description, typename AssignableDataSource< DataSourceType >::shared_ptr datasource) | |
| The constructor which initializes the property with a DataSource. | |
| Property< T > & | operator= (param_t value) |
| Set the property's value. | |
| Property< T > & | operator= (PropertyBase *source) |
| Construct a Property which mirrors a PropertyBase. | |
| Property< T > & | operator<<= (Property< T > &p) |
| Update the value of this property with another property. | |
| operator value_t () const | |
| Get a copy of the value of the property. | |
| DataSourceType | get () const |
| Get a copy of the value of the property. | |
| reference_t | set () |
| Access to the value of the Property. | |
| void | set (param_t v) |
| Set the value of the Property. | |
| reference_t | value () |
| Access to the value of the Property. | |
| const_reference_t | rvalue () const |
| Read-only (const&) access to the value of the Property. | |
| virtual void | identify (PropertyIntrospection *pi) |
| A call on this method will lead to a call to the PropertyIntrospection interface identifying this Property's proper type. | |
| virtual void | identify (PropertyBagVisitor *pi) |
| A call on this method will lead to a call to the PropertyBagIntrospection interface identifying this Property's proper type. | |
| virtual bool | update (const PropertyBase *other) |
| Update the value of this Property with the value of an other Property. | |
| virtual CommandInterface * | updateCommand (const PropertyBase *other) |
| Generate a CommandInterface object which will update this Property with the value of another Property when execute()'ed. | |
| virtual bool | refresh (const PropertyBase *other) |
| Refresh the value of this Property with the value of an other Property. | |
| virtual CommandInterface * | refreshCommand (const PropertyBase *other) |
| Generate a CommandInterface object which will refresh this Property with the value of another Property when execute()'ed. | |
| virtual bool | copy (const PropertyBase *other) |
| Copy an other Property onto this property. | |
| virtual CommandInterface * | copyCommand (const PropertyBase *other) |
| Generate a CommandInterface object which will copy this Property with the value of another Property when execute()'ed. | |
| bool | copy (const Property< T > &orig) |
| Copy the value, complete overwrite of this Property with orig. | |
| bool | update (const Property< T > &orig) |
| Update the value, optionally also the description if current description is empty. | |
| bool | refresh (const Property< T > &orig) |
| Refresh only the value from a Property. | |
| virtual Property< T > * | clone () const |
| Deliver an identical clone of this PropertyBase. | |
| virtual Property< T > * | create () const |
| Create a new default instance of the PropertyBase. | |
| virtual DataSourceBase::shared_ptr | getDataSource () const |
| Get a DataSource through which this PropertyBase can be manipulated. | |
|
AssignableDataSource< DataSourceType >::shared_ptr | getAssignableDataSource () const |
| virtual std::string | getType () const |
| Returns the type of this PropertyBase. | |
| virtual const TypeInfo * | getTypeInfo () const |
| Returns the TypeInfo object of this Property. | |
| template<> | |
| bool | update (const Property< PropertyBag > &orig) |
| template<> | |
| bool | refresh (const Property< PropertyBag > &orig) |
| template<> | |
| bool | copy (const Property< PropertyBag > &orig) |
| template<> | |
| void | identify (PropertyBagVisitor *pbi) |
| A call on this method will lead to a call to the PropertyBagIntrospection interface identifying this Property's proper type. | |
| const std::string & | getName () const |
| Get the name of the property. | |
| void | setName (const std::string &name) |
| Set the name of the property. | |
| const std::string & | getDescription () const |
| Get a description of the property. | |
| void | setDescription (const std::string &desc) |
| Set the description of the property. | |
| bool | ready () const |
| Inspect if this Property is correctly initialised and ready for usage. | |
Static Public Member Functions | |
| static Property< T > * | narrow (PropertyBase *prop) |
| Use this method instead of dynamic_cast<> to cast from PropertyBase to Property<T>. | |
Protected Attributes | |
|
AssignableDataSource< DataSourceType >::shared_ptr | _value |
| std::string | _name |
| A short name for this PropertyBase. | |
| std::string | _description |
| A lengthy description for this PropertyBase. | |
| typedef boost::remove_const<typename boost::remove_reference<T>::type>::type value_t |
The types of this property type.
value_t is always the 'bare' value type of T. From this type, we derive the other (param, ref, ...) types.
| Property | ( | ) | [inline] |
| Property | ( | const std::string & | name, | |
| const std::string & | description, | |||
| param_t | value = value_t() | |||
| ) | [inline] |
The constructor which initializes the property's value.
| name | The name which will be used to refer to the property. | |
| description | The description of the property. | |
| value | The initial value of the property (optional). |
Copy constructors copies the name, description and value as deep copies.
| Property | ( | PropertyBase * | source | ) | [inline] |
Create a Property mirroring another PropertyBase.
It copies the name and description, and shallow copies the value.
| Property | ( | const std::string & | name, | |
| const std::string & | description, | |||
| typename AssignableDataSource< DataSourceType >::shared_ptr | datasource | |||
| ) | [inline] |
The constructor which initializes the property with a DataSource.
| name | The name which will be used to refer to the property. | |
| description | The description of the property. | |
| datasource | A new data source to be acquired by this property for storing its data. |
| Property<T>& operator= | ( | param_t | value | ) | [inline] |
Set the property's value.
| value | The value to be set. |
| Property<T>& operator= | ( | PropertyBase * | source | ) | [inline] |
Construct a Property which mirrors a PropertyBase.
| source | A pointer to the property to mirror. |
| operator value_t | ( | ) | const [inline] |
Get a copy of the value of the property.
| DataSourceType get | ( | ) | const [inline] |
Get a copy of the value of the property.
| reference_t set | ( | ) | [inline] |
Access to the value of the Property.
Identical to value().
| reference_t value | ( | ) | [inline] |
Access to the value of the Property.
Identical to set().
| Property< T > * narrow | ( | PropertyBase * | prop | ) | [static] |
Use this method instead of dynamic_cast<> to cast from PropertyBase to Property<T>.
You need to delete the returned property if it is no longer needed.
| T | The Desired property type, for example 'double'. | |
| prop | The property to narrow to Property<T>. |
| virtual bool update | ( | const PropertyBase * | other | ) | [inline, 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.
Implements PropertyBase.
| virtual CommandInterface* updateCommand | ( | const PropertyBase * | other | ) | [inline, virtual] |
Generate a CommandInterface object which will update this Property with the value of another Property when execute()'ed.
Implements PropertyBase.
| virtual bool refresh | ( | const PropertyBase * | other | ) | [inline, 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.
Implements PropertyBase.
| virtual CommandInterface* refreshCommand | ( | const PropertyBase * | other | ) | [inline, virtual] |
Generate a CommandInterface object which will refresh this Property with the value of another Property when execute()'ed.
The resulting Command is real-time.
Implements PropertyBase.
| virtual bool copy | ( | const PropertyBase * | other | ) | [inline, virtual] |
Copy an other Property onto this property.
Update 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.
Implements PropertyBase.
| virtual CommandInterface* copyCommand | ( | const PropertyBase * | other | ) | [inline, virtual] |
Generate a CommandInterface object which will copy this Property with the value of another Property when execute()'ed.
Implements PropertyBase.
| bool refresh | ( | const Property< T > & | orig | ) | [inline] |
Refresh only the value from a Property.
This is a real-time operation.
| virtual Property<T>* clone | ( | ) | const [inline, virtual] |
Deliver an identical clone of this PropertyBase.
The original may be deleted and the clone can be transparantly used in its place or vice versa.
Implements PropertyBase.
| virtual Property<T>* create | ( | ) | const [inline, virtual] |
Create a new default instance of the PropertyBase.
This is a factory method to 'make something of the same type'. The new PropertyBase has the same name and description as this.
Implements PropertyBase.
| virtual std::string getType | ( | ) | const [inline, virtual] |
Returns the type of this PropertyBase.
Uses the naming scheme of DataSourceTypeInfo.
Implements PropertyBase.
| const std::string& getName | ( | ) | const [inline, inherited] |
Get the name of the property.
| void setName | ( | const std::string & | name | ) | [inherited] |
Set the name of the property.
| name | The name of the property. |
| const std::string& getDescription | ( | ) | const [inline, inherited] |
Get a description of the property.
| void setDescription | ( | const std::string & | desc | ) | [inherited] |
Set the description of the property.
| desc | The description of the property. |
| bool ready | ( | ) | const [inline, inherited] |
1.5.1