pragma Ada_05;
pragma Style_Checks ("NM32766");
with DDS.DataWriter;
with DDS.Domain_Entity_Impl;
with DDS.Publisher;
with DDS.Topic;
with DDS.DataWriterListener;
with System;
with RTIDDS.Low_Level.reda.worker_impl_h;
package DDS.DataWriter_Impl is
type Ref is limited new DDS.Domain_Entity_Impl.Ref and DDS.DataWriter.Ref with null 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 Get_FacadeI (C_DataWriter : System.Address)
return 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);
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);
procedure Unregister_Instance_W_Params
(Self : not null access Ref;
Instance_Data : System.Address;
Params : access DDS.WriteParams_T);
procedure WriteI
(Self : not null access Ref;
Instance_Data : System.Address;
Handle : in DDS.InstanceHandle_T_Access);
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);
procedure Write_W_Params
(Self : not null access Ref;
Instance_Data : System.Address;
Params : in DDS.WriteParams_T);
procedure Dispose
(Self : not null access Ref;
Instance_Data : System.Address;
Instance_Handle : in DDS.InstanceHandle_T);
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);
procedure Dispose_W_Params
(Self : not null access Ref;
Instance_Data : System.Address;
Params : in DDS.WriteParams_T);
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.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 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);
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;