FooTypeSupport Class Reference
[User Data Type Support]

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

#include <managed_topic.h>

Inheritance diagram for FooTypeSupport:

DDS::TypeSupport

List of all members.

Static Public Member Functions

static System::String^ get_type_name ()
 Get the default name for this type.
static void register_type (DDS::DomainParticipant^ participant, System::String^ type_name)
 Allows an application to communicate to RTI Data Distribution Service the existence of a data type.
static void unregister_type (DDS::DomainParticipant^ participant, System::String^ 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 void delete_data (Foo^ a_data)
 <<eXtension>> Destroy a user data type instance.
static void print_data (Foo^ a_data)
 <<eXtension>> Print value of data type to standard out.
static void copy_data (Foo^ dst_data, Foo^ src_data)
 <<eXtension>> Copy data type.


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:
rtiddsgen

Member Function Documentation

static System::String ^ FooTypeSupport::get_type_name (  )  [static]

Get the default name for this type.

Can be used for calling FooTypeSupport::register_type or creating DDS::Topic

Returns:
default name for this type
See also:
FooTypeSupport::register_type

DDS::DomainParticipant::create_topic

static void FooTypeSupport::register_type ( DDS::DomainParticipant^   participant,
System::String^   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 DDS::TypeSupport can be registered multiple times with a DDS::DomainParticipant using the same or different values for the type_name. If register_type is called multiple times on the same DDS::TypeSupport with the same DDS::DomainParticipant and type_name, the second (and subsequent) registrations are ignored by the operation fails with DDS::Exception::RETCODE_OK.

Precondition:
Cannot use the same type_name to register two different DDS::TypeSupport with the same DDS::DomainParticipant, or else the operation will fail and DDS::Retcode_PreconditionNotMet will be returned.
Parameters:
participant <<in>> the DDS::DomainParticipant 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 DDS::Topic. (See DDS::DomainParticipant::create_topic.) The name may not be NULL or longer than 255 characters.
Exceptions:
One of the Standard Return Codes, DDS::Retcode_PreconditionNotMet or DDS::Retcode_OutOfResources.
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:
DDS::DomainParticipant::create_topic

static void FooTypeSupport::unregister_type ( DDS::DomainParticipant^   participant,
System::String^   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 DDS::Topic objects referencing the type have been destroyed. If the type is not registered with the participant, or if any DDS::Topic 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 DDS::DomainParticipant 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.
Exceptions:
One of the Standard Return Codes, DDS::Retcode_BadParameter 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 void 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.
Exceptions:
One of the Standard Return Codes
See also:
FooTypeSupport::create_data

static void FooTypeSupport::print_data ( 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.

static void 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.
Exceptions:
One of the Standard Return Codes


RTI Data Distribution Service .Net APIs Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc