RTI Connext Traditional C++ API  Version 6.1.2

Defines generic classes and macros to support user data types. More...

Classes

struct  DDS_TypeAllocationParams_t
 Configures whether or not to allocate pointer and optional members. More...
 
struct  DDS_TypeDeallocationParams_t
 Configures whether to release or not pointer and optional members. More...
 
struct  Foo
 A representative user-defined data type. More...
 
struct  DDS_InstanceHandleSeq
 Instantiates FooSeq < DDS_InstanceHandle_t > . More...
 
class  FooTypeSupport
 <<interface>> <<generic>> User data type specific interface. More...
 
class  DDSTypeSupport
 <<interface>> An abstract marker interface that has to be specialized for each concrete user data type that will be used by the application. More...
 

Macros

#define DDS_TYPESUPPORT_CPP(TTypeSupport, TData)
 Declares the interface required to support a user data type. More...
 
#define DDS_DATAWRITER_CPP(TDataWriter, TData)
 Declares the interface required to support a user data type specific data writer. More...
 
#define DDS_DATAREADER_W_DATA_CONSISTENCY_CHECK(TDataReader, TDataSeq, TData)
 Declares the interface required to support a user data type-specific data reader. More...
 

Typedefs

typedef DDS_HANDLE_TYPE_NATIVE DDS_InstanceHandle_t
 Type definition for an instance handle. More...
 

Functions

DDS_Boolean DDS_InstanceHandle_equals (const DDS_InstanceHandle_t *self, const DDS_InstanceHandle_t *other)
 Compares this instance handle with another handle for equality. More...
 
int DDS_InstanceHandle_compare (const DDS_InstanceHandle_t *self, const DDS_InstanceHandle_t *other)
 Compares this instance handle with another handle. More...
 
DDS_Boolean DDS_InstanceHandle_is_nil (const DDS_InstanceHandle_t *self)
 Compare this handle to DDS_HANDLE_NIL. More...
 

Variables

const DDS_InstanceHandle_t DDS_HANDLE_NIL
 The NIL instance handle. More...
 

Detailed Description

Defines generic classes and macros to support user data types.

DDS specifies strongly typed interfaces to read and write user data. For each data class defined by the application, there is a number of specialised classes that are required to facilitate the type-safe interaction of the application with RTI Connext.

RTI Connext provides an automatic means to generate all these type-specific classes with the rtiddsgen utility. The complete set of automatic classes created for a hypothetical user data type named Foo are shown below.

DDSUserDataSupport.png
Classes auto-created for an application data type named Foo

The macros defined here declare the strongly typed APIs needed to support an arbitrary user defined data of type Foo.

See also
rtiddsgen

Macro Definition Documentation

◆ DDS_TYPESUPPORT_CPP

#define DDS_TYPESUPPORT_CPP (   TTypeSupport,
  TData 
)

Declares the interface required to support a user data type.

Defines:
FooTypeSupport TypeSupport of type Foo, i.e. FooTypeSupport
Examples:
HelloWorldSupport.cxx.

◆ DDS_DATAWRITER_CPP

#define DDS_DATAWRITER_CPP (   TDataWriter,
  TData 
)

Declares the interface required to support a user data type specific data writer.

Uses:
FooTypeSupport user data type, Foo
Defines:
FooDataWriter DDSDataWriter of type Foo, i.e. FooDataWriter

◆ DDS_DATAREADER_W_DATA_CONSISTENCY_CHECK

#define DDS_DATAREADER_W_DATA_CONSISTENCY_CHECK (   TDataReader,
  TDataSeq,
  TData 
)

Declares the interface required to support a user data type-specific data reader.

Uses:
FooTypeSupport user data type, Foo FooSeq sequence of user data type, sequence<::Foo>
Defines:
FooDataReader DDSDataReader of type Foo, i.e. FooDataReader
See also
FooSeq
Examples:
HelloWorldSupport.cxx.

Typedef Documentation

◆ DDS_InstanceHandle_t

typedef DDS_HANDLE_TYPE_NATIVE DDS_InstanceHandle_t

Type definition for an instance handle.

Handle to identify different instances of the same DDSTopic of a certain type.

See also
FooDataWriter::register_instance
DDS_SampleInfo::instance_handle

Function Documentation

◆ DDS_InstanceHandle_equals()

DDS_Boolean DDS_InstanceHandle_equals ( const DDS_InstanceHandle_t self,
const DDS_InstanceHandle_t other 
)

Compares this instance handle with another handle for equality.

Parameters
self<<in>> This handle. Cannot be NULL.
other<<in>> The other handle to be compared with this handle. Cannot be NULL.
Returns
DDS_BOOLEAN_TRUE if the two handles have equal values, or DDS_BOOLEAN_FALSE otherwise.
See also
DDS_InstanceHandle_is_nil

◆ DDS_InstanceHandle_compare()

int DDS_InstanceHandle_compare ( const DDS_InstanceHandle_t self,
const DDS_InstanceHandle_t other 
)

Compares this instance handle with another handle.

Parameters
self<<in>> This handle. Cannot be NULL.
other<<in>> The other handle to be compared with this handle. Cannot be NULL.
Returns
If the two handles are equal, the function returns 0. If self is greater than other the function returns a positive number; otherwise, it returns a negative number.
See also
DDS_InstanceHandle_is_nil

◆ DDS_InstanceHandle_is_nil()

DDS_Boolean DDS_InstanceHandle_is_nil ( const DDS_InstanceHandle_t self)

Compare this handle to DDS_HANDLE_NIL.

Returns
DDS_BOOLEAN_TRUE if the given instance handle is equal to DDS_HANDLE_NIL or DDS_BOOLEAN_FALSE otherwise.
See also
DDS_InstanceHandle_equals

Variable Documentation

◆ DDS_HANDLE_NIL

const DDS_InstanceHandle_t DDS_HANDLE_NIL

The NIL instance handle.

Special DDS_InstanceHandle_t value

See also
DDS_InstanceHandle_is_nil
Examples:
HelloWorld_publisher.cxx.