A class which provides locked/protected access to one typed element of data. More...
#include <DataObjectLocked.hpp>
Public Types | |
typedef T | DataType |
Public Member Functions | |
virtual void | data_sample (const DataType &sample) |
DataObjectLocked (const T &initial_value=T()) | |
virtual void | Get (DataType &pull) const |
virtual DataType | Get () const |
virtual void | Set (const DataType &push) |
Private Attributes | |
T | data |
os::Mutex | lock |
A class which provides locked/protected access to one typed element of data.
It allows multiple read/write requests using a single lock. This is the in any case threadsafe implementation, and can be blocking in situations where you do not want that.
Definition at line 57 of file DataObjectLocked.hpp.
typedef T RTT::base::DataObjectLocked< T >::DataType |
The type of the data.
Reimplemented from RTT::base::DataObjectInterface< T >.
Definition at line 78 of file DataObjectLocked.hpp.
RTT::base::DataObjectLocked< T >::DataObjectLocked | ( | const T & | initial_value = T() | ) | [inline] |
Construct a DataObjectLocked by name.
_name | The name of this DataObject. |
Definition at line 72 of file DataObjectLocked.hpp.
virtual void RTT::base::DataObjectLocked< T >::data_sample | ( | const DataType & | sample | ) | [inline, virtual] |
Provides a data sample to initialize this data object. As such enough storage space can be allocated before the actual writing begins.
sample |
Implements RTT::base::DataObjectInterface< T >.
Definition at line 86 of file DataObjectLocked.hpp.
virtual void RTT::base::DataObjectLocked< T >::Get | ( | DataType & | pull | ) | const [inline, virtual] |
Get a copy of the Data of this data object.
pull | A copy of the data. |
Implements RTT::base::DataObjectInterface< T >.
Definition at line 80 of file DataObjectLocked.hpp.
virtual DataType RTT::base::DataObjectLocked< T >::Get | ( | ) | const [inline, virtual] |
Get a copy of the data of this data object.
Implements RTT::base::DataObjectInterface< T >.
Definition at line 82 of file DataObjectLocked.hpp.
virtual void RTT::base::DataObjectLocked< T >::Set | ( | const DataType & | push | ) | [inline, virtual] |
Set the data to a certain value.
push | The data which must be set. |
Implements RTT::base::DataObjectInterface< T >.
Definition at line 84 of file DataObjectLocked.hpp.
T RTT::base::DataObjectLocked< T >::data [private] |
One element of Data.
Definition at line 65 of file DataObjectLocked.hpp.
os::Mutex RTT::base::DataObjectLocked< T >::lock [mutable, private] |
Definition at line 60 of file DataObjectLocked.hpp.