package DDS.DataWriter_Impl is
type Ref is abstract limited new DDS.Domain_Entity_Impl.Ref and DDS.DataWriter.Ref with record null; end record;
type Ref_Access is access all Ref'Class;
procedure Set_Qos_With_Profile
| ( | Self | : not null access Ref; | 
| Library_Name | : Standard.String; | |
| Profile_Name | : Standard.String); | 
procedure Get_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in out DDS.DataWriterQos); | 
procedure Set_Listener
| ( | Self | : not null access Ref; | 
| A_Listener | : in DDS.DataWriterListener.Ref_Access; | |
| Mask | : in DDS.StatusMask); | 
function Get_Listener
| ( | Self | : not null access Ref) return DDS.DataWriterListener.Ref_Access; | 
function Get_Topic
| ( | Self | : not null access Ref) return DDS.Topic.Ref_Access; | 
function Get_Publisher
| ( | Self | : not null access Ref) return access DDS.Publisher.Ref'Class; | 
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); | 
procedure Get_Liveliness_Lost_Status
| ( | Self | : not null access Ref; | 
| Status | : in out DDS.LivelinessLostStatus); | 
procedure Get_Offered_Deadline_Missed_Status
| ( | Self | : not null access Ref; | 
| Status | : in out DDS.OfferedDeadlineMissedStatus); | 
procedure Get_Offered_Incompatible_Qos_Status
| ( | Self | : not null access Ref; | 
| Status | : in out DDS.OfferedIncompatibleQosStatus); | 
procedure Get_Publication_Matched_Status
| ( | Self | : not null access Ref; | 
| Status | : in out DDS.PublicationMatchedStatus); | 
procedure Assert_Liveliness
| ( | Self | : not null access Ref); | 
function Get_Matched_Subscriptions
| ( | Self | : not null access Ref) return DDS.InstanceHandle_Seq.Sequence; | 
function Get_Matched_Subscription_Data
| ( | Self | : not null access Ref; | 
| Subscription_Handle | : in DDS.InstanceHandle_T) return DDS.SubscriptionBuiltinTopicData; | 
function Get_Matched_Subscription_Locators
| ( | Self | : not null access Ref) return DDS.Locator_Seq.Sequence; | 
procedure Free
| ( | This | : in out Ref_Access); | 
function CreateI
| ( | Publisher | : DDS.Publisher.Ref_Access; | 
| Topic | : access DDS.Topic.Ref'Class; | |
| Qos | : in DDS.DataWriterQos; | |
| Listener | : in DDS.DataWriterListener.Ref_Access; | |
| Mask | : in DDS.StatusMask) return DDS.DataWriter.Ref_Access; | 
function CreateI
| ( | Publisher | : DDS.Publisher.Ref_Access; | 
| Topic | : access DDS.Topic.Ref'Class; | |
| Library_Name | : in DDS.String; | |
| Profile_name | : in DDS.String; | |
| Listener | : in DDS.DataWriterListener.Ref_Access; | |
| Mask | : in DDS.StatusMask) return DDS.DataWriter.Ref_Access; | 
function Register_Instance
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address) return DDS.InstanceHandle_T; | 
function Register_Instance_W_Timestamp
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Source_Timestamp | : in DDS.Time_T) return DDS.InstanceHandle_T; | 
function Register_Instance_W_Params
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Params | : access DDS.WriteParams_T) return Standard.DDS.InstanceHandle_T; | 
procedure Unregister_Instance
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Handle | : in DDS.InstanceHandle_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Unregister_Instance_W_Timestamp
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Handle | : in DDS.InstanceHandle_T; | |
| Source_Timestamp | : in DDS.Time_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Unregister_Instance_W_Params
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Params | : access DDS.WriteParams_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure WriteI
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Handle | : in DDS.InstanceHandle_T_Access; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Write_W_Timestamp
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Handle | : in DDS.InstanceHandle_T_Access; | |
| Source_Timestamp | : in DDS.Time_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Write_W_Params
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Params | : in out DDS.WriteParams_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Dispose
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Instance_Handle | : in DDS.InstanceHandle_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Dispose_W_Timestamp
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Instance_Handle | : in DDS.InstanceHandle_T; | |
| Source_Timestamp | : in DDS.Time_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Dispose_W_Params
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| Params | : in DDS.WriteParams_T; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Get_Key_Value
| ( | Self | : not null access Ref; | 
| Key_Holder | : System.Address; | |
| Handle | : in DDS.InstanceHandle_T); | 
function Lookup_Instance
| ( | Self | : not null access Ref; | 
| Key_Holder | : System.Address) return DDS.InstanceHandle_T; | 
procedure Get_Reliable_Reader_Activity_Changed_Status
| ( | Self | : not null access Ref; | 
| status | : in out DDS.ReliableReaderActivityChangedStatus); | 
procedure Set_Reliable_Reader_Activity_Changed_Status
| ( | Self | : not null access Ref; | 
| status | : in DDS.ReliableReaderActivityChangedStatus); | 
procedure Get_Reliable_Writer_Cache_Changed_Status
| ( | Self | : not null access Ref; | 
| status | : in out DDS.ReliableWriterCacheChangedStatus); | 
procedure Get_DataWriter_Cache_Status
| ( | Self | : not null access Ref; | 
| status | : in out DDS.DataWriterCacheStatus); | 
procedure Get_DataWriter_Protocol_Status
| ( | Self | : not null access Ref; | 
| status | : in out DDS.DataWriterProtocolStatus); | 
procedure Get_Matched_Subscription_Datawriter_Protocol_Status
| ( | Self | : not null access Ref; | 
| status | : in out DDS.DataWriterProtocolStatus; | |
| subscription_handle | : DDS.InstanceHandle_T); | 
procedure Get_Matched_Subscription_Datawriter_Protocol_Status_By_Locator
| ( | Self | : not null access Ref; | 
| status | : in out DDS.DataWriterProtocolStatus; | |
| locator | : DDS.Locator_T); | 
procedure Flush
| ( | Self | : not null access Ref); | 
function Is_Metp_Writer
| ( | Self | : not null access Ref; | 
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class) return Standard.Boolean; | 
procedure Delete_Metp_Data
| ( | Self | : not null access Ref; | 
| Instance_Data | : System.Address; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure call_listener
| ( | Self | : not null access Ref; | 
| mask | : StatusMask); | 
procedure set_reliable_writer_cache_changed_status
| ( | Self | : not null access Ref; | 
| To | : ReliableWriterCacheChangedStatus); | 
procedure set_datawriter_cache_status
| ( | Self | : not null access Ref; | 
| To | : DataWriterCacheStatus); | 
procedure set_datawriter_protocol_status
| ( | Self | : not null access Ref; | 
| To | : DataWriterProtocolStatus); | 
procedure set_matched_subscription_datawriter_protocol_status
| ( | Self | : not null access Ref; | 
| To | : DDS.DataWriterProtocolStatus; | |
| handle | : DDS.InstanceHandle_T); | 
procedure set_matched_subscription_datawriter_protocol_status_by_locator
| ( | Self | : not null access Ref; | 
| status | : DDS.DataWriterProtocolStatus; | |
| locator | : DDS.Locator_T); | 
function As_DDS_Entity_access is new Ada.Unchecked_Conversion
| ( | DDS_DataWriter_Access,DDS.Entity_Impl.DDS_Entity_Access); | 
function Get_FacadeI
| ( | C_DataWriter | : DDS_DataWriter_Access) return Ref_Access; | 
procedure Get_LoanI
| ( | Self | : not null access Ref; | 
| Loan_Ret | : out System.Address; | |
| Initialize_Data | : out Standard.Boolean; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
procedure Discard_LoanI
| ( | Self | : not null access Ref; | 
| Sample | : System.Address; | |
| MetpImpl | : not null access DDS.MetpTypeSupport.ref'Class); | 
function GetInterface
| ( | Self | : not null access Ref) return DDS_DataWriter_Access; | 
procedure SetInterface
| ( | Self | : not null access Ref; | 
| To | : DDS_DataWriter_Access); | 
function Get_Metp
| ( | Self | : not null access Ref) return not null DDS.MetpTypeSupport.Ref_Access is abstract; |