1. pragma Ada_2012; 
  2. --  (c) Copyright, Real-Time Innovations, $Date:: 2012-02-16 #$ 
  3. --  All rights reserved. 
  4. -- 
  5. --  No duplications, whole or partial, manual or electronic, may be made 
  6. --  without express written permission.  Any such copies, or 
  7. --  revisions thereof, must display this notice unaltered. 
  8. --  This code contains trade secrets of Real-Time Innovations, Inc. 
  9.  
  10.  
  11. ------------------------------------------------- 
  12. --  This file has been generated automatically 
  13. --  by IDLAC (http://libre.adacore.com/polyorb/) 
  14. -- 
  15. --  Do NOT hand-modify this file, as your 
  16. --  changes will be lost when you re-run the 
  17. --  IDL to Ada compiler. 
  18. ------------------------------------------------- 
  19. pragma Style_Checks ("NM32766"); 
  20. with Ada.Unchecked_Conversion; 
  21.  
  22. with DDS.DataWriter; 
  23. with DDS.Domain_Entity_Impl; 
  24. with DDS.Entity_Impl; 
  25. with DDS.Publisher; 
  26. with DDS.Topic; 
  27. with DDS.DataWriterListener; 
  28. with DDS.MetpTypeSupport; 
  29.  
  30. with System; 
  31. with RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h; 
  32. with RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h; 
  33.  
  34.  
  35. package DDS.DataWriter_Impl is 
  36.  
  37.    type Ref is limited new DDS.Domain_Entity_Impl.Ref and DDS.DataWriter.Ref with record 
  38.       metp : dds.MetpTypeSupport.Ref_Access; 
  39.    end record; 
  40.    type Ref_Access is access all Ref'Class; 
  41.  
  42.    -- 
  43.    procedure Set_Qos 
  44.      (Self : not null access Ref; 
  45.       Qos  : in DDS.DataWriterQos); 
  46.  
  47.    procedure  Set_Qos_With_Profile (Self : not null access Ref; 
  48.                        Library_Name : String; 
  49.                        Profile_Name : String); 
  50.    procedure  Set_Qos_With_Profile (Self : not null access Ref; 
  51.                        Library_Name : Standard.String; 
  52.                        Profile_Name : Standard.String); 
  53.  
  54.    procedure Get_Qos 
  55.      (Self : not null access Ref; 
  56.       Qos  : in out DDS.DataWriterQos); 
  57.  
  58.    procedure Set_Listener 
  59.      (Self       : not null access Ref; 
  60.       A_Listener : in DDS.DataWriterListener.Ref_Access; 
  61.       Mask       : in DDS.StatusMask); 
  62.  
  63.    function Get_Listener 
  64.      (Self : not null access Ref) 
  65.      return DDS.DataWriterListener.Ref_Access; 
  66.  
  67.    function Get_Topic 
  68.      (Self : not null access Ref) 
  69.      return DDS.Topic.Ref_Access; 
  70.  
  71.    function Get_Publisher 
  72.      (Self : not null access Ref) 
  73.      return access DDS.Publisher.Ref'Class; 
  74.  
  75.    procedure Wait_For_Acknowledgments 
  76.      (Self     : not null access Ref; 
  77.       Max_Wait : in DDS.Duration_T); 
  78.  
  79.    procedure Wait_For_Asynchronous_Publishing 
  80.      (Self     : not null access Ref; 
  81.       Max_Wait : in DDS.Duration_T); 
  82.  
  83.    procedure Get_Liveliness_Lost_Status 
  84.      (Self   : not null access Ref; 
  85.       Status : in out DDS.LivelinessLostStatus); 
  86.  
  87.    procedure Get_Offered_Deadline_Missed_Status 
  88.      (Self : not null access Ref; 
  89.       Status : in out DDS.OfferedDeadlineMissedStatus); 
  90.  
  91.    procedure Get_Offered_Incompatible_Qos_Status 
  92.      (Self : not null access Ref; 
  93.       Status : in out DDS.OfferedIncompatibleQosStatus); 
  94.  
  95.    procedure Get_Publication_Matched_Status 
  96.      (Self : not null access Ref; 
  97.       Status : in out DDS.PublicationMatchedStatus); 
  98.  
  99.    procedure Assert_Liveliness 
  100.      (Self : not null access Ref); 
  101.  
  102.    function Get_Matched_Subscriptions 
  103.      (Self    : not null access Ref) 
  104.      return DDS.InstanceHandle_Seq.Sequence; 
  105.  
  106.    function Get_Matched_Subscription_Data 
  107.      (Self                : not null access Ref; 
  108.       Subscription_Handle : in DDS.InstanceHandle_T) 
  109.      return DDS.SubscriptionBuiltinTopicData; 
  110.  
  111.    function Get_Matched_Subscription_Locators 
  112.      (Self    : not null access Ref) 
  113.      return DDS.Locator_Seq.Sequence; 
  114.  
  115.    procedure Free (This : in out Ref_Access); 
  116.  
  117.  
  118.  
  119.    function CreateI (Publisher    : DDS.Publisher.Ref_Access; 
  120.                      Topic      : access DDS.Topic.Ref'Class; 
  121.                      Qos          : in DDS.DataWriterQos; 
  122.                      Listener   : in DDS.DataWriterListener.Ref_Access; 
  123.                      Mask         : in DDS.StatusMask) 
  124.                      return DDS.DataWriter.Ref_Access; 
  125.  
  126.    function CreateI (Publisher    : DDS.Publisher.Ref_Access; 
  127.                      Topic      : access DDS.Topic.Ref'Class; 
  128.                      Library_Name : in DDS.String; 
  129.                      Profile_name : in DDS.String; 
  130.                      Listener   : in DDS.DataWriterListener.Ref_Access; 
  131.                      Mask         : in DDS.StatusMask) 
  132.                      return DDS.DataWriter.Ref_Access; 
  133.  
  134.  
  135.    function Register_Instance 
  136.      (Self          : not null access Ref; 
  137.       Instance_Data : System.Address) 
  138.       return DDS.InstanceHandle_T; 
  139.  
  140.  
  141.    function Register_Instance_W_Timestamp 
  142.      (Self             : not null access Ref; 
  143.       Instance_Data    : System.Address; 
  144.       Source_Timestamp : in DDS.Time_T) 
  145.       return DDS.InstanceHandle_T; 
  146.  
  147.    function Register_Instance_W_Params 
  148.      (Self             : not null access Ref; 
  149.       Instance_Data    : System.Address; 
  150.       Params           : access DDS.WriteParams_T) 
  151.       return Standard.DDS.InstanceHandle_T; 
  152.  
  153.    procedure Unregister_Instance 
  154.      (Self          : not null access Ref; 
  155.       Instance_Data : System.Address; 
  156.       Handle        : in DDS.InstanceHandle_T; 
  157.       MetpImpl      : access DDS.MetpTypeSupport.ref'Class); 
  158.  
  159.    procedure Unregister_Instance_W_Timestamp 
  160.      (Self             : not null access Ref; 
  161.       Instance_Data    : System.Address; 
  162.       Handle           : in DDS.InstanceHandle_T; 
  163.       Source_Timestamp : in DDS.Time_T; 
  164.       MetpImpl         : access DDS.MetpTypeSupport.ref'Class); 
  165.  
  166.    procedure Unregister_Instance_W_Params 
  167.      (Self          : not null access Ref; 
  168.       Instance_Data : System.Address; 
  169.       Params        : access DDS.WriteParams_T; 
  170.       MetpImpl      : access DDS.MetpTypeSupport.ref'Class); 
  171.  
  172.    procedure WriteI 
  173.      (Self          : not null access Ref; 
  174.       Instance_Data : System.Address; 
  175.       Handle        : in DDS.InstanceHandle_T_Access; 
  176.       MetpImpl      : access DDS.MetpTypeSupport.ref'Class); 
  177.  
  178.    procedure Write_W_Timestamp 
  179.      (Self             : not null access Ref; 
  180.       Instance_Data    : System.Address; 
  181.       Handle           : in DDS.InstanceHandle_T_Access; 
  182.       Source_Timestamp : in DDS.Time_T; 
  183.       MetpImpl         : access DDS.MetpTypeSupport.ref'Class); 
  184.  
  185.    procedure Write_W_Params 
  186.      (Self          : not null access Ref; 
  187.       Instance_Data : System.Address; 
  188.       Params        : in out DDS.WriteParams_T; 
  189.       MetpImpl      : access DDS.MetpTypeSupport.ref'Class); 
  190.  
  191.  
  192.    procedure Dispose 
  193.      (Self            : not null access Ref; 
  194.       Instance_Data   : System.Address; 
  195.       Instance_Handle : in DDS.InstanceHandle_T; 
  196.       MetpImpl        : access DDS.MetpTypeSupport.ref'Class); 
  197.  
  198.    procedure Dispose_W_Timestamp 
  199.      (Self             : not null access Ref; 
  200.       Instance_Data    : System.Address; 
  201.       Instance_Handle  : in DDS.InstanceHandle_T; 
  202.       Source_Timestamp : in DDS.Time_T; 
  203.       MetpImpl         : access DDS.MetpTypeSupport.ref'Class); 
  204.  
  205.    procedure Dispose_W_Params 
  206.      (Self          : not null access Ref; 
  207.       Instance_Data : System.Address; 
  208.       Params        : in DDS.WriteParams_T; 
  209.       MetpImpl      : access DDS.MetpTypeSupport.ref'Class); 
  210.  
  211.  
  212.    procedure Get_Key_Value 
  213.      (Self        : not null access Ref; 
  214.       Key_Holder : System.Address; 
  215.       Handle     : in DDS.InstanceHandle_T); 
  216.  
  217.  
  218.    function Lookup_Instance 
  219.      (Self        : not null access Ref; 
  220.       Key_Holder : System.Address) return DDS.InstanceHandle_T; 
  221.  
  222.    procedure Finalize_Callback 
  223.      (arg1 : System.Address; 
  224.       arg2 : System.Address; 
  225.       arg3 : access RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h.REDAWorker); 
  226.    pragma Convention (C, Finalize_Callback); 
  227.  
  228.    procedure Get_Reliable_Reader_Activity_Changed_Status 
  229.      (Self : not null access Ref; 
  230.       status : in out DDS.ReliableReaderActivityChangedStatus); 
  231.  
  232.    procedure Set_Reliable_Reader_Activity_Changed_Status 
  233.      (Self : not null access Ref; 
  234.       status : in DDS.ReliableReaderActivityChangedStatus); 
  235.  
  236.    procedure Get_Reliable_Writer_Cache_Changed_Status 
  237.      (Self : not null access Ref; 
  238.       status : in out DDS.ReliableWriterCacheChangedStatus); 
  239.  
  240.    procedure Get_DataWriter_Cache_Status 
  241.      (Self : not null access Ref; 
  242.       status : in out DDS.DataWriterCacheStatus); 
  243.  
  244.    procedure Get_DataWriter_Protocol_Status 
  245.      (Self : not null access Ref; 
  246.       status : in out DDS.DataWriterProtocolStatus); 
  247.  
  248.    procedure Get_Matched_Subscription_Datawriter_Protocol_Status 
  249.      (Self                : not null access Ref; 
  250.       status              : in out DDS.DataWriterProtocolStatus; 
  251.       subscription_handle : DDS.InstanceHandle_T); 
  252.  
  253.    procedure Get_Matched_Subscription_Datawriter_Protocol_Status_By_Locator 
  254.      (Self    : not null access Ref; 
  255.       status  : in out DDS.DataWriterProtocolStatus; 
  256.       locator : DDS.Locator_T); 
  257.  
  258.    procedure Flush 
  259.      (Self : not null access Ref); 
  260.  
  261.    function Is_Metp_Writer 
  262.      (Self     : not null access Ref; 
  263.       MetpImpl : access DDS.MetpTypeSupport.ref'Class) return Standard.Boolean; 
  264.  
  265.    procedure Delete_Metp_Data 
  266.      (Self          : not null access Ref; 
  267.       Instance_Data : System.Address; 
  268.       MetpImpl      : access DDS.MetpTypeSupport.ref'Class); 
  269.  
  270.    --  ========================================================================= 
  271.    --  ========================================================================= 
  272.    --  ==                       Implementation 
  273.    --  ========================================================================= 
  274.    --  ========================================================================= 
  275.  
  276.    procedure  call_listener(Self  : not null access Ref; 
  277.                              mask  : StatusMask); 
  278.  
  279.    procedure  set_reliable_writer_cache_changed_status 
  280.      (Self  : not null access Ref; 
  281.       To    : ReliableWriterCacheChangedStatus); 
  282.  
  283.    procedure  set_datawriter_cache_status 
  284.      (Self  : not null access Ref; 
  285.       To    : DataWriterCacheStatus); 
  286.  
  287.    procedure  set_datawriter_protocol_status 
  288.      (Self  : not null access Ref; 
  289.       To    : DataWriterProtocolStatus); 
  290.  
  291.    procedure set_matched_subscription_datawriter_protocol_status 
  292.      (Self   : not null access Ref; 
  293.       To     : DDS.DataWriterProtocolStatus; 
  294.       handle : DDS.InstanceHandle_T); 
  295.  
  296.    procedure set_matched_subscription_datawriter_protocol_status_by_locator 
  297.      (Self   : not null access Ref; 
  298.       status  : DDS.DataWriterProtocolStatus; 
  299.       locator : DDS.Locator_T); 
  300.  
  301.  
  302.    type DDS_DataWriter_Access is access all RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_DataWriter with Storage_Size => 0; 
  303.    function As_DDS_Entity_access is new Ada.Unchecked_Conversion(DDS_DataWriter_Access,DDS.Entity_Impl.DDS_Entity_Access); 
  304.    function Get_FacadeI (C_DataWriter : DDS_DataWriter_Access) 
  305.                         return Ref_Access; 
  306.  
  307.    procedure Get_LoanI 
  308.      (Self            : not null access Ref; 
  309.       Loan_Ret        : out System.Address; 
  310.       Initialize_Data : out Standard.Boolean; 
  311.       MetpImpl        : access DDS.MetpTypeSupport.ref'Class); 
  312.  
  313.    procedure Discard_LoanI 
  314.      (Self     : not null access Ref; 
  315.       Sample   : System.Address; 
  316.       MetpImpl : access DDS.MetpTypeSupport.ref'Class); 
  317.  
  318.    function GetInterface (Self : not null access Ref) return DDS_DataWriter_Access; 
  319.    procedure SetInterface (Self : not null access Ref; To : DDS_DataWriter_Access); 
  320.  
  321. private 
  322.  
  323.    procedure Free_Impl is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access); 
  324.    procedure Free_Mem (This : in out Ref_Access) renames Free_Impl; 
  325.  
  326. end DDS.DataWriter_Impl;