FooTypeSupport Struct Reference
[User Data Type Support]

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

Inheritance diagram for FooTypeSupport:

DDSTypeSupport

List of all members.

Static Public Member Functions

static DDS_ReturnCode_t register_type (DDSDomainParticipant *participant, const char *type_name)
 Allows an application to communicate to RTI Data Distribution Service 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 Data Distribution Service. 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 Data Distribution Service 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 Data Distribution Service 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 Data Distribution Service. 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 Data Distribution Service. 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 Data Distribution Service. 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 Data Distribution Service C++ API Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc