orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType > Struct Template Reference

#include <OpaqueTypelibMarshaller.hpp>

Inheritance diagram for orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef
orogen_transports::TypelibMarshallerBase::Handle 
MarshallingHandle
typedef OpaqueType opaque_t
typedef TypelibType typelib_t

Public Member Functions

void deleteOrocosSample (MarshallingHandle *data)
void deleteTypelibSample (MarshallingHandle *data)
void ensureOrocosSamplePresent (MarshallingHandle *handle)
void ensureTypelibSamplePresent (MarshallingHandle *handle)
RTT::base::DataSourceBase::shared_ptr getDataSource (Handle *handle)
 OpaqueTypelibMarshallerBase (std::string const &typelib_name, std::string const &opaque_name, Typelib::Registry const &registry)
bool readDataSource (RTT::base::DataSourceBase &source_base, MarshallingHandle *handle)
uint8_t * releaseOrocosSample (Handle *handle)
void setOrocosSample (MarshallingHandle *handle, void *data, bool refresh_typelib=true)
void unmarshal (std::vector< uint8_t > &buffer, Handle *handle)
void unmarshal (void const *buffer, int size, Handle *handle)
void writeDataSource (RTT::base::DataSourceBase &source, MarshallingHandle const *handle)

Detailed Description

template<typename TypelibType, typename OpaqueType>
struct orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >

Definition at line 11 of file OpaqueTypelibMarshaller.hpp.


Member Typedef Documentation

template<typename TypelibType , typename OpaqueType >
typedef orogen_transports::TypelibMarshallerBase::Handle orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::MarshallingHandle
template<typename TypelibType , typename OpaqueType >
typedef OpaqueType orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::opaque_t
template<typename TypelibType , typename OpaqueType >
typedef TypelibType orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::typelib_t

Constructor & Destructor Documentation

template<typename TypelibType , typename OpaqueType >
orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::OpaqueTypelibMarshallerBase ( std::string const &  typelib_name,
std::string const &  opaque_name,
Typelib::Registry const &  registry 
) [inline]

Definition at line 17 of file OpaqueTypelibMarshaller.hpp.


Member Function Documentation

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::deleteOrocosSample ( MarshallingHandle 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 26 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::deleteTypelibSample ( MarshallingHandle 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 28 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::ensureOrocosSamplePresent ( MarshallingHandle handle  )  [inline]

Definition at line 49 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::ensureTypelibSamplePresent ( MarshallingHandle handle  )  [inline]

Definition at line 58 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
RTT::base::DataSourceBase::shared_ptr orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::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 20 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
bool orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::readDataSource ( RTT::base::DataSourceBase source,
MarshallingHandle handle 
) [inline, virtual]

Reads the data from a data source a handle

Implements orogen_transports::TypelibMarshallerBase.

Definition at line 78 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
uint8_t* orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::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 31 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::setOrocosSample ( MarshallingHandle 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 67 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::unmarshal ( std::vector< uint8_t > &  buffer,
Handle sample 
) [inline, virtual]

Update the sample in +sample+ from the marshalled data in +buffer+

Reimplemented from orogen_transports::TypelibMarshallerBase.

Definition at line 105 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::unmarshal ( void const *  buffer,
int  buffer_size,
Handle sample 
) [inline, virtual]

Update the sample in +sample+ from the marshalled data in +buffer+

Reimplemented from orogen_transports::TypelibMarshallerBase.

Definition at line 98 of file OpaqueTypelibMarshaller.hpp.

template<typename TypelibType , typename OpaqueType >
void orogen_transports::OpaqueTypelibMarshallerBase< TypelibType, OpaqueType >::writeDataSource ( RTT::base::DataSourceBase source,
MarshallingHandle const *  handle 
) [inline, virtual]

Writes the data from from the handle into the data source

Implements orogen_transports::TypelibMarshallerBase.

Definition at line 92 of file OpaqueTypelibMarshaller.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Jan 11 09:49:46 2013