-   
-   
-   
-   
-   
-   
-   
-   
-   
- 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    : not null 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      : not null 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;