#include <TypelibMarshaller.hpp>
Public Types | |
typedef TypelibMarshallerBase::Handle | Handle |
Public Member Functions | |
TypelibMarshallerBase::Handle * | createSample () |
void | deleteOrocosSample (Handle *data) |
void | deleteSamples (Handle *data) |
void | deleteTypelibSample (Handle *data) |
RTT::base::DataSourceBase::shared_ptr | getDataSource (Handle *handle) |
bool | readDataSource (RTT::base::DataSourceBase &source_base, Handle *handle) |
void | refreshOrocosSample (Handle *handle) |
void | refreshTypelibSample (Handle *handle) |
uint8_t * | releaseOrocosSample (Handle *handle) |
void | setOrocosSample (Handle *handle, void *data, bool refresh_typelib=true) |
void | setTypelibSample (Handle *handle, uint8_t *data, bool refresh_orocos=true) |
TypelibMarshaller (std::string const &orocos_name, Typelib::Registry const ®istry) | |
void | writeDataSource (RTT::base::DataSourceBase &source, Handle const *handle) |
Definition at line 11 of file TypelibMarshaller.hpp.
typedef TypelibMarshallerBase::Handle orogen_transports::TypelibMarshaller< T >::Handle |
Definition at line 13 of file TypelibMarshaller.hpp.
orogen_transports::TypelibMarshaller< T >::TypelibMarshaller | ( | std::string const & | orocos_name, |
Typelib::Registry const & | registry | ||
) | [inline] |
Definition at line 15 of file TypelibMarshaller.hpp.
TypelibMarshallerBase::Handle* orogen_transports::TypelibMarshaller< T >::createSample | ( | ) | [inline, virtual] |
Creates a sample handler, which is an opaque type used to read/write/marshal data. Unlike createHandle(), the handle returned by this method already contains a preallocated data sample. It can therefore be used as-is for readPort.
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 18 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::deleteOrocosSample | ( | Handle * | data | ) | [inline, virtual] |
Destroys the orocos-related data sample that is stored in data
.
For non-opaque types, this is the same than destroyOrocosSample and destroyData. It is different only for opaque types.
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 19 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::deleteSamples | ( | Handle * | data | ) | [inline] |
Definition at line 21 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::deleteTypelibSample | ( | Handle * | data | ) | [inline, virtual] |
Destroys the typelib-related data sample that is stored in data
.
For non-opaque types, this is the same than destroyTypelibSample and destroyData. It is different only for opaque types.
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 20 of file TypelibMarshaller.hpp.
RTT::base::DataSourceBase::shared_ptr orogen_transports::TypelibMarshaller< T >::getDataSource | ( | Handle * | handle | ) | [inline, virtual] |
Returns a data source that can be used to modify the Orocos sample stored in this handle
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 66 of file TypelibMarshaller.hpp.
bool orogen_transports::TypelibMarshaller< T >::readDataSource | ( | RTT::base::DataSourceBase & | source, |
Handle * | handle | ||
) | [inline, virtual] |
Reads the data from a data source a handle
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 71 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::refreshOrocosSample | ( | Handle * | data | ) | [inline, virtual] |
Updates the value of data->orocos_sample based on the data in data->typelib_sample
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 61 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::refreshTypelibSample | ( | Handle * | handle | ) | [inline, virtual] |
Updates the value of data->typelib_sample based on the data in data->orocos_sample
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 56 of file TypelibMarshaller.hpp.
uint8_t* orogen_transports::TypelibMarshaller< T >::releaseOrocosSample | ( | Handle * | sample | ) | [inline, virtual] |
Returns a type-pruned pointer to the C++ object, and passes ownership along
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 39 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::setOrocosSample | ( | Handle * | data, |
void * | sample, | ||
bool | refresh_typelib = true |
||
) | [inline, virtual] |
Updates the sample handler by using a data sample that Typelib understands. +typelib_data+ must be pointing to an object whose type is the one returned by getMarshallingType.
The handle will then point directly to the given data sample, i.e. calls to read
might modify that sample directly.
The ownership of typelib_data
is retained by the caller. I.e. it has to delete it.
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 33 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::setTypelibSample | ( | Handle * | data, |
uint8_t * | typelib_data, | ||
bool | refresh_orocos = true |
||
) | [inline, virtual] |
Updates the sample handler by using a data sample that Typelib understands. +typelib_data+ must be pointing to an object whose type is the one returned by getMarshallingType.
The handle will then point directly to the given data sample, i.e. calls to read
might modify that sample directly.
The ownership of typelib_data
is retained by the caller. I.e. it has to delete it.
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 27 of file TypelibMarshaller.hpp.
void orogen_transports::TypelibMarshaller< T >::writeDataSource | ( | RTT::base::DataSourceBase & | source, |
Handle const * | handle | ||
) | [inline, virtual] |
Writes the data from from the handle into the data source
Implements orogen_transports::TypelibMarshallerBase.
Definition at line 82 of file TypelibMarshaller.hpp.