package Treats is new DDS.Treats_Generic (Data_Type => DDS.String, Data_Type_Access => DDS.String_Ptr, Index_Type => Natural, First_Element => 1, Data_Array => DDS.String_Array, Initialize => Initialize, Finalize => Finalize, Copy => Copy, Data_Sequences => DDS.String_Seq, Get_Type_Name => DDS.Builtin_String_TypeSupport.Get_Type_Name, TypeSupport => Ref, MetpTypeSupport => DDS.MetpTypeSupport.Unsupported);
type Ref is new Standard.DDS.TypeSupport.Ref with null record;
type Ref_Access is access all Ref'Class;
function Create_TypedDataReaderI
( | Self | : access Ref) return Standard.DDS.DataReader.Ref_Access; |
procedure Destroy_TypedDataReaderI
( | Self | : access Ref; |
Reader | : in out Standard.DDS.DataReader.Ref_Access); |
function Create_TypedDataWriterI
( | Self | : access Ref) return Standard.DDS.DataWriter.Ref_Access; |
procedure Destroy_TypedDataWriterI
( | Self | : access Ref; |
Writer | : in out Standard.DDS.DataWriter.Ref_Access) is null; |
procedure Register_Type
( | Participant | : not null access Standard.DDS.DomainParticipant.Ref'Class; |
Type_Name | : in Standard.DDS.String); |
By default, The char* built-in type is automatically registered when a DomainParticipant is created using the type_name returned by DDSStringTypeSupport.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 DDSStringTypeSupport 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 char* with. Cannot be ull_value.
type_name: <<in>> the type name under with the data type char* 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
procedure Unregister_Type
( | Participant | : not null access Standard.DDS.DomainParticipant.Ref'Class; |
Type_Name | : in Standard.DDS.String); |
Precondition: The char* 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 char* from. Cannot be ull_value.
type_name: <<in>> the type name under with the data type char* 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: DDSStringTypeSupport.register_type
function Get_Type_Name return Standard.DDS.String;
Can be used for calling DDSStringTypeSupport.register_type or creating DDS.Topic.
Returns: default name for the char* type.
See also: DDSStringTypeSupport.register_type
See also: DDS.DomainParticipant.create_topic
procedure Get_Type_Name
( | Name | : out Standard.DDS.String); |
function Create_Data
( | AllocatePointers | : in Boolean := True) return DDS.String; |
procedure Delete_Data
( | A_Data | : in out DDS.String; |
DeletePointers | : in Boolean := True); |
procedure Print_Data
( | A_Data | : DDS.String); |
The generated implementation of the operation knows how to print value of a data type.
a_data: <<in>> String to be printed.
procedure Copy_Data
( | Desc | : DDS.String; |
Source | : DDS.String); |
procedure Initialize_Data
( | A_Data | : DDS.String); |
procedure Finalize_Data
( | A_Data | : DDS.String); |
function Create_Data_W_Size
( | Size | : Integer) return DDS.String; |
procedure Initialize_Data_W_Size
( | A_Data | : DDS.String; |
Size | : Integer); |