package DDS.Publisher_Impl is
type Ref is limited new DDS.Domain_Entity_Impl.Ref and DDS.Publisher.Ref with null record;
type Ref_Access is access all Ref'Class;
function Create_DataWriter
| ( | Self | : not null access Ref; | 
| A_Topic | : not null DDS.Topic.Ref_Access; | |
| Qos | : in DDS.DataWriterQos; | |
| A_Listener | : in DDS.DataWriterListener.Ref_Access; | |
| Mask | : in DDS.StatusMask) return DDS.DataWriter.Ref_Access; | 
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; | |
| Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access; | 
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; | |
| Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access; | 
procedure Delete_DataWriter
| ( | Self | : not null access Ref; | 
| A_DataWriter | : in out DDS.DataWriter.Ref_Access); | 
function Lookup_DataWriter
| ( | Self | : not null access Ref; | 
| Topic_Name | : in DDS.String_Ptr) return DDS.DataWriter.Ref_Access; | 
procedure Delete_Contained_Entities
| ( | Self | : not null access Ref); | 
procedure Set_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in DDS.PublisherQos); | 
procedure Set_Qos_With_Profile
| ( | Self | : not null access Ref; | 
| Library_Name | : in Standard.String; | |
| Profile_Name | : in Standard.String); | 
procedure Get_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in out DDS.PublisherQos); | 
procedure Set_Listener
| ( | Self | : not null access Ref; | 
| A_Listener | : in DDS.PublisherListener.Ref_Access; | |
| Mask | : in DDS.StatusMask); | 
function Get_Listener
| ( | Self | : not null access Ref) return DDS.PublisherListener.Ref_Access; | 
procedure Suspend_Publications
| ( | Self | : not null access Ref); | 
procedure Resume_Publications
| ( | Self | : not null access Ref); | 
procedure Begin_Coherent_Changes
| ( | Self | : not null access Ref); | 
procedure End_Coherent_Changes
| ( | Self | : not null access Ref); | 
procedure Wait_For_Acknowledgments
| ( | Self | : not null access Ref; | 
| Max_Wait | : in DDS.Duration_T); | 
procedure Wait_For_Asynchronous_Publishing
| ( | Self | : not null access Ref; | 
| Max_Wait | : in DDS.Duration_T); | 
function Get_Participant
| ( | Self | : not null access Ref) return access DDS.DomainParticipant.Ref'Class; | 
procedure Set_Default_DataWriter_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in DDS.DataWriterQos); | 
procedure Set_Default_DataWriter_Qos_With_Profile
| ( | Self | : not null access Ref; | 
| libName | : DDS.String; | |
| profName | : DDS.String); | 
procedure Set_Default_DataWriter_Qos_With_Profile
| ( | Self | : not null access Ref; | 
| libName | : Standard.String; | |
| profName | : Standard.String); | 
procedure Get_Default_DataWriter_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in out DDS.DataWriterQos); | 
procedure Copy_From_Topic_Qos
| ( | Self | : not null access Ref; | 
| A_DataWriter_Qos | : in out DDS.DataWriterQos; | |
| A_Topic_Qos | : in DDS.TopicQos); | 
procedure Set_Default_Profile
| ( | Self | : not null access Ref; | 
| Library_Name | : DDS.String; | |
| Profile_Name | : DDS.String); | 
procedure Set_Default_Library
| ( | Self | : not null access Ref; | 
| Library_Name | : DDS.String); | 
function Get_Default_Library
| ( | Self | : not null access Ref) return DDS.String; | 
function Get_Default_Profile
| ( | Self | : not null access Ref) return DDS.String; | 
function Get_Default_Profile_Library
| ( | Self | : not null access Ref) return DDS.String; | 
procedure Free
| ( | This | : in out Ref_Access); | 
function CreateI
| ( | C_Participant | : access DDS_DomainParticipant; | 
| Qos | : in DDS.PublisherQos; | |
| A_Listener | : in DDS.PublisherListener.Ref_Access; | |
| Mask | : in DDS.StatusMask) return DDS.Publisher.Ref_Access; | 
function As_DDS_Entety_Access is new ada.Unchecked_Conversion
| ( | DDS_Publisher_Access,DDS.Entity_Impl.DDS_Entity_Access); | 
function Create_WrapperI
| ( | C_Publisher | : in DDS_Publisher_Access) return Ref_Access; | 
function Get_FacadeI
| ( | C_Publisher | : DDS_Publisher_Access) return Ref_Access; | 
function GetInterface
| ( | Self | : not null access Ref) return DDS_Publisher_Access; | 
procedure SetInterface
| ( | Self | : not null access Ref; | 
| To | : DDS_Publisher_Access); |