DDS_TypeSupportQosPolicy Struct Reference
[TYPESUPPORT]

Allows you to attach application-specific values to a DataWriter or DataReader that are passed to the serialization or deserialization routine of the associated data type. More...

List of all members.

Public Attributes

void * plugin_data
 Value to pass into the type plugin's de-/serialization function.


Detailed Description

Allows you to attach application-specific values to a DataWriter or DataReader that are passed to the serialization or deserialization routine of the associated data type.

The purpose of this QoS is to allow a user application to pass data to a type plugin's support functions.

Entity:
DDSDataReader, DDSDataWriter
Properties:
RxO = N/A
Changeable = YES

Usage

This QoS policy allows you to associate a pointer to an object with a DDSDataWriter or DDSDataReader. This object pointer is passed to the serialization routine of the data type associated with the DDSDataWriter or the deserialization routine of the data type associated with the DDSDataReader.

You can modify the rtiddsgen-generated code so that the de/serialization routines act differently depending on the information passed in via the object pointer. (The generated serialization and deserialization code does not use the pointer.)

This functionality can be used to change how data sent by a DDSDataWriter or received by a DDSDataReader is serialized or deserialized on a per DataWriter and DataReader basis.

It can also be used to dynamically change how serialization (or for a less common case, deserialization) occurs. For example, a data type could represent a table, including the names of the rows and columns. However, since the row/column names of an instance of the table (a Topic) don't change, they only need to be sent once. The information passed in through the TypeSupport QoS policy could be used to signal the serialization routine to send the row/column names the first time a DDSDataWriter calls FooDataWriter::write, and then never again.


Member Data Documentation

Value to pass into the type plugin's de-/serialization function.

[default] NULL


RTI Data Distribution Service C++ API Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc