A class which provides locked/protected access to one typed element of data. More...
#include <DataObjectLocked.hpp>
Public Types | |
typedef T | DataType |
Public Types inherited from RTT::base::DataObjectInterface< T > | |
typedef boost::call_traits< T >::param_type | param_t |
typedef boost::call_traits< T >::reference | reference_t |
typedef boost::shared_ptr< DataObjectInterface< T > > | shared_ptr |
typedef T | value_t |
Public Member Functions | |
virtual void | clear () |
virtual bool | data_sample (param_t sample, bool reset) |
virtual value_t | data_sample () const |
DataObjectLocked () | |
DataObjectLocked (param_t initial_value) | |
virtual FlowStatus | Get (reference_t pull, bool copy_old_data=true) const |
virtual value_t | Get () const |
virtual bool | Set (param_t push) |
Public Member Functions inherited from RTT::base::DataObjectInterface< T > | |
DataObjectInterface () | |
virtual | ~DataObjectInterface () |
Public Member Functions inherited from RTT::base::DataObjectBase | |
virtual | ~DataObjectBase () |
Private Types | |
typedef DataObjectInterface< T >::param_t | param_t |
typedef DataObjectInterface< T >::reference_t | reference_t |
typedef DataObjectInterface< T >::value_t | value_t |
Private Attributes | |
value_t | data |
bool | initialized |
os::Mutex | lock |
FlowStatus | status |
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.
Definition at line 90 of file DataObjectLocked.hpp.
|
private |
Definition at line 62 of file DataObjectLocked.hpp.
|
private |
Definition at line 61 of file DataObjectLocked.hpp.
|
private |
Definition at line 60 of file DataObjectLocked.hpp.
|
inline |
Construct an uninitialized DataObjectLocked.
Definition at line 78 of file DataObjectLocked.hpp.
|
inline |
Construct a DataObjectLocked with initial value.
Definition at line 84 of file DataObjectLocked.hpp.
|
inlinevirtual |
Clears any data stored by this data object, so that any subsequent Get() without a new Set() will return NoData.
Implements RTT::base::DataObjectInterface< T >.
Definition at line 137 of file DataObjectLocked.hpp.
|
inlinevirtual |
Provides a data sample to initialize this data object. As such enough storage space can be allocated before the actual writing begins.
sample | the data sample |
reset | enforce reinitialization even if this operation clears the stored data. |
Implements RTT::base::DataObjectInterface< T >.
Definition at line 117 of file DataObjectLocked.hpp.
|
inlinevirtual |
Reads back a data sample.
Implements RTT::base::DataObjectInterface< T >.
Definition at line 132 of file DataObjectLocked.hpp.
|
inlinevirtual |
Get a copy of the Data of this data object.
pull | A copy of the data. |
copy_old_data | If true, also copy the data if the data object has not been updated since the last call. |
Implements RTT::base::DataObjectInterface< T >.
Definition at line 92 of file DataObjectLocked.hpp.
|
inlinevirtual |
Get a copy of the data of this data object.
Implements RTT::base::DataObjectInterface< T >.
Definition at line 104 of file DataObjectLocked.hpp.
|
inlinevirtual |
Set the data to a certain value.
push | The data which must be set. |
Implements RTT::base::DataObjectInterface< T >.
Definition at line 110 of file DataObjectLocked.hpp.
|
private |
One element of Data.
Definition at line 69 of file DataObjectLocked.hpp.
|
private |
Definition at line 72 of file DataObjectLocked.hpp.
|
mutableprivate |
Definition at line 64 of file DataObjectLocked.hpp.
|
mutableprivate |
Definition at line 71 of file DataObjectLocked.hpp.