-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
- pragma Style_Checks ("NM32766"); 
- with Ada.Unchecked_Conversion;  
-   
- with DDS.DataWriter;  
- with DDS.Domain_Entity_Impl;  
- with DDS.Entity_Impl;  
- with DDS.Publisher;  
- with DDS.Topic;  
- with DDS.DataWriterListener;  
- with DDS.MetpTypeSupport;  
-   
- with System;  
- with RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h;  
- with RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h;  
-   
- 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  
-      (Self : not null access Ref;  
-       Qos  : in DDS.DataWriterQos);  
-   
-    procedure  Set_Qos_With_Profile (Self : not null access Ref;  
-                        Library_Name : String;  
-                        Profile_Name : String);  
-    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 Finalize_Callback  
-      (arg1 : System.Address;  
-       arg2 : System.Address;  
-       arg3 : access RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h.REDAWorker);  
-    pragma Convention (C, Finalize_Callback);  
-   
-    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);  
-   
-   
-    type DDS_DataWriter_Access is access all RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_DataWriter with Storage_Size => 0;  
-    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;  
-   
- private  
-   
-    procedure Free_Impl is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access);  
-    procedure Free_Mem (This : in out Ref_Access) renames Free_Impl;  
-   
- end DDS.DataWriter_Impl;