with Ada.Containers.Vectors;
with Ada.Strings.Unbounded;
with RTIDDS.Low_Level.dds_c.domain_h;
with RTIDDS.Low_Level.dds_c.infrastructure_h;
private package DDS.Interface_Copy_Operations is
use RTIDDS.Low_Level.dds_c.domain_h;
use RTIDDS.Low_Level.dds_c.infrastructure_h;
package string_seq is new Ada.Containers.Vectors
(Natural,
Ada.Strings.Unbounded.Unbounded_String,
Ada.Strings.Unbounded."=");
function To_DDS_String (src : Standard.String) return Ada.Strings.Unbounded.Unbounded_String
renames Ada.Strings.Unbounded.To_Unbounded_String;
function To_DDS_String (src : Interfaces.C.Strings.chars_ptr) return Ada.Strings.Unbounded.Unbounded_String;
function To_String (src : Ada.Strings.Unbounded.Unbounded_String) return Interfaces.C.Strings.chars_ptr;
procedure Copy_Up (tgt : out DomainParticipantFactoryQos; src : not null access DDS_DomainParticipantFactoryQos);
procedure Copy_Down (tgt : not null access DDS_DomainParticipantFactoryQos; src : in DomainParticipantFactoryQos);
procedure Copy_Up (tgt : out EntityFactoryQosPolicy; src : not null access DDS_EntityFactoryQosPolicy);
procedure Copy_Down (tgt : not null access DDS_EntityFactoryQosPolicy; src : in EntityFactoryQosPolicy);
procedure Copy_Up (tgt : out SystemResourceLimitsQosPolicy; src : not null access DDS_SystemResourceLimitsQosPolicy);
procedure Copy_Down (tgt : not null access DDS_SystemResourceLimitsQosPolicy; src : in SystemResourceLimitsQosPolicy);
procedure Copy_Up (tgt : out ProfileQosPolicy; src : not null access DDS_ProfileQosPolicy);
procedure Copy_Down (tgt : not null access DDS_ProfileQosPolicy; src : in ProfileQosPolicy);
procedure Copy_Up (tgt : out DDS.String_Seq.Sequence; src : not null access DDS_StringSeq);
procedure Copy_Down (tgt : not null access DDS_StringSeq; src : in DDS.String_Seq.Sequence);
procedure Copy_Up (tgt : out string_seq.Vector; src : not null access DDS_StringSeq);
procedure Copy_Down (tgt : not null access DDS_StringSeq; src : in string_seq.Vector);
end DDS.Interface_Copy_Operations;