RTI Connext DDS Micro C++ API  Version 2.4.12
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
FooTypeSupport Struct Reference

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

#include <dds_cpp_data.hxx>

List of all members.

Static Public Member Functions

static bool initialize_data (Foo *sample)
 <<eXtension>> Initialize data type.
static bool finalize_data (Foo *sample)
 <<eXtension>> Finalize data type.
static Foo * create_data ()
 <<eXtension>> Create a data type and initialize it.
static void delete_data (Foo *sample)
 <<eXtension>> Destroy a user data type instance.
static bool copy_data (Foo *dst_data, Foo *src_data)
 <<eXtension>> Copy data type.
static DDS_ReturnCode_t register_type (DDSDomainParticipant *participant, const char *type_name)
 Allows an application to communicate to RTI Connext DDS Micro 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 DDS Micro. After calling unregister_type, no further communication using that type is possible.

Detailed Description

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


Member Function Documentation

static bool FooTypeSupport::initialize_data ( Foo *  sample)
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:
sample<<inout>> Cannot be NULL.
Returns:
One of the Standard Return Codes
See also:
FooTypeSupport::finalize_data
static bool FooTypeSupport::finalize_data ( Foo *  sample)
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:
sample<<in>> Cannot be NULL.
Returns:
One of the Standard Return Codes
See also:
FooTypeSupport::initialize_data
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 void FooTypeSupport::delete_data ( Foo *  sample)
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:
sample<<in>> Cannot be NULL.
Returns:
One of the Standard Return Codes
See also:
FooTypeSupport::create_data
static bool FooTypeSupport::copy_data ( Foo *  dst_data,
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::register_type ( DDSDomainParticipant participant,
const char *  type_name 
)
static

Allows an application to communicate to RTI Connext DDS Micro 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 DDS Micro to distinguish different instances of the same type.

The same DDS_TYPESUPPORT_CPP 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 DDS_TYPESUPPORT_CPP 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 DDS_TYPESUPPORT_CPP 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 DDS Micro. 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 DDS Micro. 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 DDS Micro. 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:
DDSDomainParticipant::register_type

RTI Connext DDS Micro C++ API Version 2.4.12 Copyright © Tue Feb 4 2020 Real-Time Innovations, Inc