pragma Ada_2012;
pragma Ada_2012;
pragma Style_Checks ("NM32766");
limited with DDS.DomainParticipant;
with DDS.PublisherListener;
with DDS.DataWriterListener;
with DDS.Topic;
with DDS.DataWriter;
with Dds.Domain_Entity;
package DDS.Publisher is
pragma Elaborate_Body;
DATAWRITER_QOS_DEFAULT : aliased constant DataWriterQos with
Convention => Ada,
Import,
Link_Name => "DDS__Publisher_DATAWRITER_QOS_DEFAULT";
DATAWRITER_QOS_USE_TOPIC_QOS : aliased constant DataWriterQos with
Convention => Ada,
Import,
Link_Name => "DDS__Publisher_DATAWRITER_QOS_USE_TOPIC_QOS";
type Ref is limited Interface and DDS.Domain_Entity.Ref;
type Ref_Access is access all Ref'Class;
type Ref_Access_Access is access all Ref_Access;
type Ref_Access_Array is array (Natural range <>) of aliased Ref_Access;
procedure Initialize
(Self : in out Ref_Access) is null;
procedure Finalize
(Self : in out Ref_Access) is null;
procedure Copy
(Dst : in out Ref_Access;
Src : in Ref_Access);
function Create_DataWriter
(Self : not null access Ref;
A_Topic : in DDS.Topic.Ref_Access;
Qos : in DDS.DataWriterQos := DATAWRITER_QOS_DEFAULT;
A_Listener : in DDS.DataWriterListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataWriter.Ref_Access is abstract;
function Create_DataWriter_With_Profile
(Self : not null access Ref;
A_Topic : in DDS.Topic.Ref_Access;
Library_Name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.DataWriterListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataWriter.Ref_Access is abstract;
function Create_DataWriter_With_Profile
(Self : not null access Ref;
A_Topic : in DDS.Topic.Ref_Access;
Library_Name : in Standard.String;
profile_name : in Standard.String;
A_Listener : in DDS.DataWriterListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataWriter.Ref_Access is abstract;
procedure Delete_DataWriter
(Self : not null access Ref;
A_DataWriter : in out DDS.DataWriter.Ref_Access) is abstract;
function Lookup_DataWriter
(Self : not null access Ref;
Topic_Name : in DDS.String_Ptr)
return DDS.DataWriter.Ref_Access is abstract;
procedure Delete_Contained_Entities
(Self : not null access Ref) is abstract;
procedure Set_Qos
(Self : not null access Ref;
Qos : in DDS.PublisherQos) is abstract;
procedure Set_Qos_With_Profile
(Self : not null access Ref;
library_name : in String;
profile_name : in String) is abstract;
procedure Get_Qos
(Self : not null access Ref;
Qos : in out DDS.PublisherQos) is abstract;
procedure Set_Listener
(Self : not null access Ref;
A_Listener : in DDS.PublisherListener.Ref_Access;
Mask : in DDS.StatusMask) is abstract;
function Get_Listener
(Self : not null access Ref)
return DDS.PublisherListener.Ref_Access is abstract;
procedure Suspend_Publications
(Self : not null access Ref) is abstract;
procedure Resume_Publications
(Self : not null access Ref) is abstract;
procedure Begin_Coherent_Changes
(Self : not null access Ref) is abstract;
procedure End_Coherent_Changes
(Self : not null access Ref) is abstract;
procedure Wait_For_Acknowledgments
(Self : not null access Ref;
Max_Wait : in DDS.Duration_T) is abstract;
procedure Wait_For_Asynchronous_Publishing
(Self : not null access Ref;
Max_Wait : in DDS.Duration_T) is abstract;
function Get_Participant
(Self : not null access Ref)
return access DDS.DomainParticipant.Ref'Class is abstract;
procedure Set_Default_DataWriter_Qos
(Self : not null access Ref;
Qos : in DDS.DataWriterQos) is abstract;
procedure Set_Default_DataWriter_Qos_With_Profile
(Self : not null access Ref;
libName : DDS.String;
profName : DDS.String) is abstract;
procedure Set_Default_DataWriter_Qos_With_Profile
(Self : not null access Ref;
libName : Standard.String;
profName : Standard.String) is abstract;
procedure Get_Default_DataWriter_Qos
(Self : not null access Ref;
Qos : in out DDS.DataWriterQos) is abstract;
procedure Copy_From_Topic_Qos
(Self : not null access Ref;
A_DataWriter_Qos : in out DDS.DataWriterQos;
A_Topic_Qos : in DDS.TopicQos) is abstract;
procedure Set_Default_Profile
(Self : not null access Ref;
library_name : DDS.String;
profile_name : DDS.String) is abstract;
procedure Set_Default_Library
(Self : not null access Ref;
library_name : DDS.String) is abstract;
function Get_Default_Library
(Self : not null access Ref)
return DDS.String is abstract;
function Get_Default_Profile
(Self : not null access Ref)
return DDS.String is abstract;
function Get_Default_Profile_Library
(Self : not null access Ref)
return DDS.String is abstract;
end DDS.Publisher;