Index

Package: DDS.Builtin_Octets_TypeSupport

Description

package DDS.Builtin_Octets_TypeSupport is

Summary: <<interface>> DDS_Octets type support.

Packages

Octet_Pointer (new Pointers)

package Octet_Pointer is new Interfaces.C.Pointers
     (Natural,
      DDS.Octet,
      DDS.Octet_Array,
      0);

Classes

Ref

type Ref is new Standard.DDS.TypeSupport.Ref with null record;

Ancestors:

Primitive operations:

Create_TypedDataReaderI (overriding Ref)
Create_TypedDataWriterI (overriding Ref)
Destroy_TypedDataReaderI (overriding Ref)
Destroy_TypedDataWriterI (overriding Ref)

Types

Ref_Access

type Ref_Access is access all Ref'Class;

Octet_Access

type Octet_Access is access all Interfaces.Unsigned_8;

Subprograms & Entries

Create_TypedDataReaderI

function Create_TypedDataReaderI 
(Self: access Ref) return Standard.DDS.DataReader.Ref_Access;

Destroy_TypedDataReaderI

procedure Destroy_TypedDataReaderI 
(Self: access Ref;
Reader: in out Standard.DDS.DataReader.Ref_Access);

Create_TypedDataWriterI

function Create_TypedDataWriterI 
(Self: access Ref) return Standard.DDS.DataWriter.Ref_Access;

Destroy_TypedDataWriterI

procedure Destroy_TypedDataWriterI 
(Self: access Ref;
Writer: in out Standard.DDS.DataWriter.Ref_Access) is null;

Register_Type

procedure Register_Type 
(Participant: not null access Standard.DDS.DomainParticipant.Ref'Class;
Type_Name: in Standard.DDS.String);

Summary: Allows an application to communicate to RTI Connext the existence of the DDS_Octets data type.

By default, The DDS_Octets built-in type is automatically registered when a DomainParticipant is created using the type_name returned by DDSOctetsTypeSupport.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 procedure can also be used to register the same DDSOctetsTypeSupport with a DDS.DomainParticipant using different values for the type_name.

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

participant: <<in>> the DDS.DomainParticipant to register the data type DDS_Octets with. Cannot be ull_value.

type_name: <<in>> the type name under with the data type DDS_Octets 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 ull_value or longer than 255 characters.

Raises: One of the DDSReturnTypesModules_std_retcodes, 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: DDS.DomainParticipant.create_topic

Unregister_Type

procedure Unregister_Type 
(Participant: not null access Standard.DDS.DomainParticipant.Ref'Class;
Type_Name: in Standard.DDS.String);

Summary: Allows an application to unregister the DDS_Octets data type from dds. After calling unregister_type, no further communication using this type is possible.

Precondition: The DDS_Octets 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 dds. No further communication using this type is possible.

participant: <<in>> the DDS.DomainParticipant to unregister the data type DDS_Octets from. Cannot be ull_value.

type_name: <<in>> the type name under with the data type DDS_Octets 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 ull_value.

Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_BAD_PARAMETER or DDS.RETCODE_ERROR

MT Safety:
SAFE.


See also: DDSOctetsTypeSupport.register_type

Get_Type_Name

function Get_Type_Name return Standard.DDS.String;

Summary: Get the default name for the DDS_Octets type.

Can be used for calling DDSOctetsTypeSupport.register_type or creating DDS.Topic.

Returns: default name for the DDS_Octets type.


See also: DDSOctetsTypeSupport.register_type
See also: DDS.DomainParticipant.create_topic

Get_Type_Name

procedure Get_Type_Name 
(name: out Standard.DDS.String);

Print_Data

procedure Print_Data 
(A_Data: access DDS.Octets);

Summary: <<ext>> Print value of data type to standard out.

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

a_data: <<in>> DDS_Octets to be printed.

Create_Data_W_Size

function Create_Data_W_Size 
(size: Integer) return DDS.Octets_Ptr;

Initialize_Data_W_Size

procedure Initialize_Data_W_Size 
(a_data: access DDS.Octets;
size: Integer);

From_Octets_To_Octet_Array

function From_Octets_To_Octet_Array 
(octets: DDS.Octets) return DDS.Octet_Array;

Get_Octet

function Get_Octet 
(octets: DDS.Octets;
index: Integer) return Interfaces.Unsigned_8;

convertToAccess

function convertToAccess is new Ada.Unchecked_Conversion 
(System.Address, Octet_Access);

convertToPointer

function convertToPointer is new Ada.Unchecked_Conversion 
(Octet_Access, Octet_Pointer.Pointer);

ConvertToPointerDiff

function ConvertToPointerDiff  
(Source: Integer) return Interfaces.C.Ptrdiff_T;