RTI Connext C++ API  Version 5.0.0
FooTypeSupport Class Reference

<<interface>> <<generic>> User data type specific interface. More...

Inheritance diagram for FooTypeSupport:
DDSTypeSupport

Static Public Member Functions

static DDS_ReturnCode_t register_type (DDSDomainParticipant *participant, const char *type_name)
 Allows an application to communicate to RTI Connext the existence of a data type.
 
static DDS_ReturnCode_t unregister_type (DDSDomainParticipant *participant, const char *type_name)
 Allows an application to unregister a data type from RTI Connext. After calling unregister_type, no further communication using that type is possible.
 
static Foocreate_data ()
 <<eXtension>> Create a data type and initialize it.
 
static Foocreate_data_ex (DDS_Boolean allocatePointers)
 <<eXtension>> Create a data type and initialize it.
 
static DDS_ReturnCode_t copy_data (Foo *dst_data, const Foo *src_data)
 <<eXtension>> Copy data type.
 
static DDS_ReturnCode_t delete_data (Foo *a_data)
 <<eXtension>> Destroy a user data type instance.
 
static DDS_ReturnCode_t delete_data_ex (Foo *a_data, DDS_Boolean deletePointers)
 <<eXtension>> Destroy a user data type instance.
 
static DDS_ReturnCode_t initialize_data (Foo *a_data)
 <<eXtension>> Initialize data type.
 
static DDS_ReturnCode_t initialize_data_ex (Foo *a_data, DDS_Boolean allocatePointers)
 <<eXtension>> Initialize data type.
 
static DDS_ReturnCode_t finalize_data (Foo *a_data)
 <<eXtension>> Finalize data type.
 
static DDS_ReturnCode_t finalize_data_ex (Foo *a_data, DDS_Boolean deletePointers)
 <<eXtension>> Finalize data type.
 
static const char * get_type_name ()
 Get the default name for this type.
 
static void print_data (const Foo *a_data)
 <<eXtension>> Print value of data type to standard out.
 

Detailed Description

<<interface>> <<generic>> User data type specific interface.

Defines the user data type specific interface generated for each application class.

The concrete user data type automatically generated by the implementation is an incarnation of this class.

See Also
DDS_TYPESUPPORT_CPP
rtiddsgen

Member Function Documentation

static DDS_ReturnCode_t FooTypeSupport::register_type ( DDSDomainParticipant participant,
const char *  type_name 
)
static

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

The generated implementation of the operation embeds all the knowledge that has to be communicated to the middleware in order to make it able to manage the contents of data of that type. This includes in particular the key definition that will allow RTI Connext to distinguish different instances of the same type.

The same DDSTypeSupport can be registered multiple times with a DDSDomainParticipant using the same or different values for the type_name. If register_type is called multiple times on the same DDSTypeSupport with the same DDSDomainParticipant and type_name, the second (and subsequent) registrations are ignored by the operation fails with DDS_RETCODE_OK.

Precondition
Cannot use the same type_name to register two different DDSTypeSupport with the same DDSDomainParticipant, or else the operation will fail and DDS_RETCODE_PRECONDITION_NOT_MET will be returned.
Parameters
participant<<in>> the DDSDomainParticipant to register the data type Foo with. Cannot be NULL.
type_name<<in>> the type name under with the data type Foo 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 FooTypeSupport::unregister_type ( DDSDomainParticipant participant,
const char *  type_name 
)
static

Allows an application to unregister a data type from RTI Connext. After calling unregister_type, no further communication using that type is possible.

The generated implementation of the operation removes all the information about a type from RTI Connext. No further communication using that type is possible.

Precondition
A 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 Foo from. Cannot be NULL.
type_name<<in>> the type name under with the data type Foo 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
FooTypeSupport::register_type
static Foo* FooTypeSupport::create_data ( )
static

<<eXtension>> Create a data type and initialize it.

The generated implementation of the operation knows how to instantiate a data type and initialize it properly.

All memory for the type is deeply allocated.

Returns
newly created data type
See Also
FooTypeSupport::delete_data
static Foo* FooTypeSupport::create_data_ex ( DDS_Boolean  allocatePointers)
static

<<eXtension>> Create a data type and initialize it.

The generated implementation of the operation knows how to instantiate a data type and initialize it properly.

When allocatePointers is DDS_BOOLEAN_TRUE, all the references (pointers) in the type are recursively allocated.

Parameters
allocatePointers<<in>> Whether or not to recursively allocate pointers.
Returns
newly created data type
See Also
FooTypeSupport::delete_data_ex
static DDS_ReturnCode_t FooTypeSupport::copy_data ( Foo dst_data,
const Foo src_data 
)
static

<<eXtension>> Copy data type.

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

Parameters
dst_data<<inout>> Data type to copy value to. Cannot be NULL.
src_data<<in>> Data type to copy value from. Cannot be NULL.
Returns
One of the Standard Return Codes
static DDS_ReturnCode_t FooTypeSupport::delete_data ( Foo a_data)
static

<<eXtension>> Destroy a user data type instance.

The generated implementation of the operation knows how to destroy a data type and return all resources.

Parameters
a_data<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
See Also
FooTypeSupport::create_data
static DDS_ReturnCode_t FooTypeSupport::delete_data_ex ( Foo a_data,
DDS_Boolean  deletePointers 
)
static

<<eXtension>> Destroy a user data type instance.

The generated implementation of the operation knows how to destroy a data type and return all resources.

When deletePointers is DDS_BOOLEAN_TRUE, all the references (pointers) are destroyed as well.

Parameters
a_data<<in>> Cannot be NULL.
deletePointers<<in>> Whether or not to destroy pointers.
Returns
One of the Standard Return Codes
See Also
FooTypeSupport::create_data_ex
static DDS_ReturnCode_t FooTypeSupport::initialize_data ( Foo a_data)
static

<<eXtension>> Initialize data type.

The generated implementation of the operation knows how to initialize a data type. This method is typically called to initialize a data type that is allocated on the stack.

Parameters
a_data<<inout>> Cannot be NULL.
Returns
One of the Standard Return Codes
See Also
FooTypeSupport::finalize_data
static DDS_ReturnCode_t FooTypeSupport::initialize_data_ex ( Foo a_data,
DDS_Boolean  allocatePointers 
)
static

<<eXtension>> Initialize data type.

The generated implementation of the operation knows how to initialize a data type. This method is typically called to initialize a data type that is allocated on the stack.

When allocatePointers is DDS_BOOLEAN_TRUE, all the references (pointers) in the type are recursively allocated.

Parameters
a_data<<inout>> Cannot be NULL.
allocatePointers<<in>> Whether or not to recursively allocate pointers.
Returns
One of the Standard Return Codes
See Also
FooTypeSupport::finalize_data_ex
static DDS_ReturnCode_t FooTypeSupport::finalize_data ( Foo a_data)
static

<<eXtension>> Finalize data type.

The generated implementation of the operation knows how to finalize a data type. This method is typically called to finalize a data type that has previouslly been initialized.

Parameters
a_data<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
See Also
FooTypeSupport::initialize_data
static DDS_ReturnCode_t FooTypeSupport::finalize_data_ex ( Foo a_data,
DDS_Boolean  deletePointers 
)
static

<<eXtension>> Finalize data type.

The generated implementation of the operation knows how to finalize a data type. This method is typically called to finalize a data type that has previouslly been initialized.

When deletePointers is DDS_BOOLEAN_TRUE, the memory required by the references (pointers) associated to the type is freed.

Parameters
a_data<<in>> Cannot be NULL.
deletePointers<<in>> Whether or not to free memory allocated by the pointers.
Returns
One of the Standard Return Codes
See Also
FooTypeSupport::initialize_data_ex
static const char* FooTypeSupport::get_type_name ( )
static

Get the default name for this type.

Can be used for calling FooTypeSupport::register_type or creating DDSTopic

Returns
default name for this type
See Also
FooTypeSupport::register_type
DDSDomainParticipant::create_topic
static void FooTypeSupport::print_data ( const Foo 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>> Data type to be printed.

RTI Connext C++ API Version 5.0.0 Copyright © Thu Aug 30 2012 Real-Time Innovations, Inc