RTI Connext Traditional C++ API  Version 5.3.0
 All Classes Functions Variables Typedefs Enumerations Enumerator Groups Pages
DDSStringTypeSupport Class Reference

<<interface>> String type support. More...

Inheritance diagram for DDSStringTypeSupport:
DDSTypeSupport

Static Public Member Functions

static DDS_ReturnCode_t register_type (DDSDomainParticipant *participant, const char *type_name="DDS::String")
 Allows an application to communicate to RTI Connext the existence of the char* data type.
 
static DDS_ReturnCode_t unregister_type (DDSDomainParticipant *participant, const char *type_name="DDS::String")
 Allows an application to unregister the char* data type from RTI Connext. After calling unregister_type, no further communication using this type is possible.
 
static const char * get_type_name ()
 Get the default name for the char* type.
 
static void print_data (const char *a_data)
 <<extension>> Print value of data type to standard out.
 
static DDS_TypeCodeget_typecode ()
 <<extension>> Retrieves the TypeCode for the Type.
 
static DDS_ReturnCode_t serialize_data_to_cdr_buffer (char *buffer, unsigned int &length, const char *a_data)
 <<extension>> Serializes the input sample into a buffer of octets.
 
static DDS_ReturnCode_t deserialize_data_from_cdr_buffer (char **a_data, const char *buffer, unsigned int length)
 <<extension>> Deserializes a sample from a buffer of octets.
 
static DDS_ReturnCode_t data_to_string (char *sample, char *str, DDS_UnsignedLong &str_size, const DDS_PrintFormatProperty &property)
 <<extension>> Get the string representation of an input sample.
 

Detailed Description

<<interface>> String type support.

Member Function Documentation

static DDS_ReturnCode_t DDSStringTypeSupport::register_type ( DDSDomainParticipant participant,
const char *  type_name = "DDS::String" 
)
static

Allows an application to communicate to RTI Connext the existence of the char* data type.

By default, The char* built-in type is automatically registered when a DomainParticipant is created using the type_name returned by DDSStringTypeSupport::get_type_name. Therefore, the usage of this function is optional and it is only required when the automatic built-in type registration is disabled using the participant property "dds.builtin_type.auto_register".

This method can also be used to register the same DDSStringTypeSupport with a DDSDomainParticipant using different values for the type_name.

If register_type is called multiple times with the same DDSDomainParticipant and type_name, the second (and subsequent) registrations are ignored by the operation.

Parameters
participant<<in>> the DDSDomainParticipant to register the data type char* with. Cannot be NULL.
type_name<<in>> the type name under with the data type char* is registered with the participant; this type name is used when creating a new DDSTopic. (See DDSDomainParticipant::create_topic.) The name may not be NULL or longer than 255 characters.
Returns
One of the Standard Return Codes, DDS_RETCODE_PRECONDITION_NOT_MET or DDS_RETCODE_OUT_OF_RESOURCES.
MT Safety:
UNSAFE on the FIRST call. It is not safe for two threads to simultaneously make the first call to register a type. Subsequent calls are thread safe.
See Also
DDSDomainParticipant::create_topic
static DDS_ReturnCode_t DDSStringTypeSupport::unregister_type ( DDSDomainParticipant participant,
const char *  type_name = "DDS::String" 
)
static

Allows an application to unregister the char* data type from RTI Connext. After calling unregister_type, no further communication using this type is possible.

Precondition
The char* type with type_name is registered with the participant and all DDSTopic objects referencing the type have been destroyed. If the type is not registered with the participant, or if any DDSTopic is associated with the type, the operation will fail with DDS_RETCODE_ERROR.
Postcondition
All information about the type is removed from RTI Connext. No further communication using this type is possible.
Parameters
participant<<in>> the DDSDomainParticipant to unregister the data type char* from. Cannot be NULL.
type_name<<in>> the type name under with the data type char* is registered with the participant. The name should match a name that has been previously used to register a type with the participant. Cannot be NULL.
Returns
One of the Standard Return Codes, DDS_RETCODE_BAD_PARAMETER or DDS_RETCODE_ERROR
MT Safety:
SAFE.
See Also
DDSStringTypeSupport::register_type
static const char* DDSStringTypeSupport::get_type_name ( )
static

Get the default name for the char* type.

Can be used for calling DDSStringTypeSupport::register_type or creating DDSTopic.

Returns
default name for the char* type.
See Also
DDSStringTypeSupport::register_type
DDSDomainParticipant::create_topic
static void DDSStringTypeSupport::print_data ( const char *  a_data)
static

<<extension>> Print value of data type to standard out.

The generated implementation of the operation knows how to print value of a data type.

Parameters
a_data<<in>> String to be printed.
static DDS_TypeCode* DDSStringTypeSupport::get_typecode ( )
static

<<extension>> Retrieves the TypeCode for the Type.

See Also
FooTypeSupport::get_typecode
static DDS_ReturnCode_t DDSStringTypeSupport::serialize_data_to_cdr_buffer ( char *  buffer,
unsigned int &  length,
const char *  a_data 
)
static

<<extension>> Serializes the input sample into a buffer of octets.

See Also
FooTypeSupport::serialize_data_to_cdr_buffer
static DDS_ReturnCode_t DDSStringTypeSupport::deserialize_data_from_cdr_buffer ( char **  a_data,
const char *  buffer,
unsigned int  length 
)
static

<<extension>> Deserializes a sample from a buffer of octets.

See Also
FooTypeSupport::deserialize_data_from_cdr_buffer
static DDS_ReturnCode_t DDSStringTypeSupport::data_to_string ( char *  sample,
char *  str,
DDS_UnsignedLong str_size,
const DDS_PrintFormatProperty property 
)
static

<<extension>> Get the string representation of an input sample.

See Also
FooTypeSupport::data_to_string

RTI Connext Traditional C++ API Version 5.3.0 Copyright © Sun Jun 25 2017 Real-Time Innovations, Inc