Orocos Real-Time Toolkit
2.5.0
|
An Attribute has a name and contains data which can be set and get. More...
#include <rtt/Attribute.hpp>
Public Member Functions | |
Attribute () | |
Create an Attribute with no name and no value. | |
Attribute (const std::string &name) | |
Create an Attribute with a given name and a default value. | |
Attribute (const std::string &name, T t) | |
Create an Attribute with a name and a given value t. | |
template<class Owner > | |
Attribute (const std::string &name, T t, Owner o) | |
Create an Attribute with a name, a given value t and an owner. | |
Attribute (const std::string &name, internal::AssignableDataSource< T > *d) | |
Create an Attribute which uses a internal::DataSource d. | |
Attribute (const Attribute< T > &a) | |
Copy constructor copies both name and deep copy of the data. | |
Attribute< T > & | operator= (const Attribute< T > &a) |
Assignment copies both name and deep copy of the data. | |
Attribute (base::AttributeBase *ab) | |
Create an Attribute which mirrors a base::AttributeBase ab. | |
Attribute< T > & | operator= (base::AttributeBase *ab) |
Initialise an Attribute which mirrors an base::AttributeBase ab. | |
T const & | get () const |
Get the value of this Attribute. | |
void | set (T const &t) |
Set the value of this Attribute. | |
internal::AssignableDataSource < T >::reference_t | set () |
Allow to set the value of this Attribute by reference. | |
base::DataSourceBase::shared_ptr | getDataSource () const |
Return a internal::DataSource which contains the same contents. | |
internal::AssignableDataSource < T >::shared_ptr | getAssignableDataSource () const |
Attribute< T > * | clone () const |
Returns a clone of this AttributeBase. | |
Attribute< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replacements, bool instantiate) |
Returns a copy of this AttributeBase. | |
const std::string & | getName () const |
Get the name of this instance. | |
void | setName (std::string const &new_name) |
Get the name of this instance. | |
bool | ready () const |
Returns true if the Attribute was correctly initialised. | |
Protected Attributes | |
std::string | mname |
An Attribute has a name and contains data which can be set and get.
Accessing an attribute (reading/writing) is not thread-safe. It is used to expose a C/C++ variable to the interface of a TaskContext in order to allow plugins or external tools to read and write it.
T | The type of data this attribute holds. |
Definition at line 56 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name | ) | [inline, explicit] |
Create an Attribute with a given name and a default value.
name | The name of this instance. |
Definition at line 74 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name, |
T | t | ||
) | [inline] |
Create an Attribute with a name and a given value t.
name | The name of this instance. |
t | The value for initialisation. |
Definition at line 85 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name, |
T | t, | ||
Owner | o | ||
) | [inline] |
Create an Attribute with a name, a given value t and an owner.
The owner is used to register this attribute to and is supposed to be a pointer (or shared pointer).
name | The name of this instance. |
t | The value for initialisation. |
o | The owner, which has a function 'addAttribute(AttributeBase*)'. |
Definition at line 101 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name, |
internal::AssignableDataSource< T > * | d | ||
) | [inline] |
Create an Attribute which uses a internal::DataSource d.
name | The name |
d | The data source to read from and write to. |
Definition at line 114 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | base::AttributeBase * | ab | ) | [inline] |
Create an Attribute which mirrors a base::AttributeBase ab.
If successful, this attribute will always have the same value as ab and vice versa.
ab | The Attribute to mirror. If null, this will clear this attribute and clear its name. |
Definition at line 150 of file Attribute.hpp.
Attribute<T>* RTT::Attribute< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | replacements, |
bool | instantiate | ||
) | [inline, virtual] |
Returns a copy of this AttributeBase.
Uses the given replacements to copy held DataSources.
instantiate | Set to true to get a copy which will return itself on any future copy request. |
Implements RTT::base::AttributeBase.
Definition at line 229 of file Attribute.hpp.
const std::string & RTT::AttributeBase::getName | ( | ) | const [inherited] |
Get the name of this instance.
Definition at line 59 of file Attribute.cpp.
Referenced by RTT::ConfigurationInterface::getAttributeNames(), RTT::ConfigurationInterface::hasAttribute(), RTT::Attribute< T >::operator=(), RTT::Constant< T >::operator=(), RTT::ConfigurationInterface::removeValue(), and RTT::ConfigurationInterface::setValue().
Attribute<T>& RTT::Attribute< T >::operator= | ( | base::AttributeBase * | ab | ) | [inline] |
Initialise an Attribute which mirrors an base::AttributeBase ab.
If successful, this attribute will always have the same value as ab and vice versa.
ab | The attribute to mirror. If null, this will clear this attribute and clear its name. |
Definition at line 164 of file Attribute.hpp.
References RTT::base::AttributeBase::getDataSource(), and RTT::base::AttributeBase::getName().
void RTT::Attribute< T >::set | ( | T const & | t | ) | [inline] |
Set the value of this Attribute.
In case the attribute is owned by a remote component, the value will be transfered.
Definition at line 199 of file Attribute.hpp.
internal::AssignableDataSource<T>::reference_t RTT::Attribute< T >::set | ( | ) | [inline] |
Allow to set the value of this Attribute by reference.
Don't use this function to set attributes of remote components, since set() will return in that case a copy of the data and the remote side will not be updated.
Definition at line 210 of file Attribute.hpp.
void RTT::AttributeBase::setName | ( | std::string const & | new_name | ) | [inherited] |
Get the name of this instance.
Definition at line 64 of file Attribute.cpp.
Referenced by RTT::ConfigurationInterface::addAttribute(), and RTT::ConfigurationInterface::addConstant().