1. pragma Ada_2012; 
  2. --  (c) Copyright, Real-Time Innovations, $Date:: 2012-10-23 #$ 
  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. with DDS.Listener; 
  13. limited with DDS.Topic; 
  14. limited with DDS.DataWriter; 
  15. limited with DDS.Subscriber; 
  16. limited with DDS.DataReader; 
  17.  
  18. package DDS.DomainParticipantListener is 
  19.  
  20.    --  <internal> 
  21.    --  No Multiple Inheritance in Ada; all callbacks must de defined again 
  22.    --  </internal> 
  23.    type Ref is limited interface and DDS.Listener.Ref; 
  24.    type Ref_Access is access all Ref'Class; 
  25.  
  26.    procedure On_Inconsistent_Topic 
  27.      (Self      : not null access Ref; 
  28.       Topic     : access constant DDS.Topic.Ref'Class; 
  29.       Status    : in DDS.InconsistentTopicStatus) is null; 
  30.    --  <dref>TopicListener_on_inconsistent_topic</dref> 
  31.  
  32.    procedure On_Offered_Deadline_Missed 
  33.      (Self   : not null access Ref; 
  34.       Writer : access DDS.DataWriter.Ref'Class; 
  35.       Status : in DDS.OfferedDeadlineMissedStatus) is null; 
  36.    --  <dref>DataWriterListener_on_offered_deadline_missed</dref> 
  37.  
  38.    procedure On_Offered_Incompatible_Qos 
  39.      (Self   : not null access Ref; 
  40.       Writer : access DDS.DataWriter.Ref'Class; 
  41.       Status : in DDS.OfferedIncompatibleQosStatus) is null; 
  42.    --  <dref>DataWriterListener_on_offered_incompatible_qos</dref> 
  43.  
  44.    procedure On_Liveliness_Lost 
  45.      (Self   : not null access Ref; 
  46.       Writer : access DDS.DataWriter.Ref'Class; 
  47.       Status : in DDS.LivelinessLostStatus) is null; 
  48.    --  <dref>DataWriterListener_on_liveliness_lost</dref> 
  49.  
  50.    procedure On_Publication_Matched 
  51.      (Self   : not null access Ref; 
  52.       Writer : access DDS.DataWriter.Ref'Class; 
  53.       Status : in DDS.PublicationMatchedStatus) is null; 
  54.    --  <dref>DataWriterListener_on_publication_matched</dref> 
  55.  
  56.    procedure On_Reliable_Writer_Cache_Changed 
  57.      (Self   : not null access Ref; 
  58.       Writer : access DDS.DataWriter.Ref'Class; 
  59.       Status : in DDS.ReliableWriterCacheChangedStatus) is null; 
  60.    --  <dref>DataWriterListener_on_reliable_writer_cache_changed</dref> 
  61.  
  62.    procedure On_Reliable_Reader_Activity_Changed 
  63.      (Self   : not null access Ref; 
  64.       Writer : access DDS.DataWriter.Ref'Class; 
  65.       Status : in DDS.ReliableReaderActivityChangedStatus) is null; 
  66.    --  <dref>DataWriterListener_on_reliable_reader_activity_changed</dref> 
  67.  
  68.    procedure On_Destination_Unreachable 
  69.      (Self   : not null access Ref; 
  70.       Writer : access DDS.DataWriter.Ref'Class; 
  71.       Instance : in DDS.InstanceHandle_T; 
  72.       Locator  : in DDS.Locator_T) is null; 
  73.  
  74.    procedure On_Data_Request 
  75.      (Self   : not null access Ref; 
  76.       Writer : access DDS.DataWriter.Ref'Class; 
  77.       Cookie   : in DDS.Cookie_T; 
  78.       Request  : in out System.Address) is null; 
  79.  
  80.    procedure On_Data_Return 
  81.      (Self   : not null access Ref; 
  82.       Writer : access DDS.DataWriter.Ref'Class; 
  83.       arg      : System.Address; 
  84.       Cookie   : in DDS.Cookie_T) is null; 
  85.  
  86.    procedure On_Sample_Removed 
  87.      (Self   : not null access Ref; 
  88.       Writer : access DDS.DataWriter.Ref'Class; 
  89.       Cookie : in DDS.Cookie_T) is null; 
  90.  
  91.    procedure On_Instance_Replaced 
  92.      (Self   : not null access Ref; 
  93.       Writer : access DDS.DataWriter.Ref'Class; 
  94.       Instance : in DDS.InstanceHandle_T) is null; 
  95.    --  <dref>DataWriterListener_on_instance_replaced</dref> 
  96.  
  97.    procedure On_Application_Acknowledgment 
  98.      (Self   : not null access Ref; 
  99.       Writer : access DDS.DataWriter.Ref'Class; 
  100.       Info : in RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_AcknowledgmentInfo) is null; 
  101.    --  <dref>DataWriterListener_on_application_acknowledgment</dref> 
  102.  
  103.    procedure On_Service_Request_Accepted 
  104.      (Self   : not null access Ref; 
  105.       Writer : access DDS.DataWriter.Ref'Class; 
  106.       Info : in RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_ServiceRequestAcceptedStatus) is null; 
  107.    --  <dref>DataWriterListener_on_service_request_accepted</dref> 
  108.  
  109.    procedure On_Data_On_Readers 
  110.      (Self           : not null access Ref; 
  111.       The_Subscriber : in out DDS.Subscriber.Ref'Class) is null; 
  112.    --  <dref>SubscriberListener_on_data_on_readers</dref> 
  113.  
  114.    procedure On_Requested_Deadline_Missed 
  115.      (Self       : not null access Ref; 
  116.       The_Reader : in DDS.DataReader.Ref'Class; 
  117.       Status     : in DDS.RequestedDeadlineMissedStatus) 
  118.    is null; 
  119.    --  <dref>DataReaderListener_on_requested_deadline_missed</dref> 
  120.    --  <internal> 
  121.    --  Handles the StatusKind.REQUESTED_DEADLINE_MISSED_STATUS 
  122.    --  communication status. 
  123.    --  </internal> 
  124.  
  125.    procedure On_Requested_Incompatible_Qos 
  126.      (Self       : not null access Ref; 
  127.       The_Reader : in DDS.DataReader.Ref'Class; 
  128.       Status     : in DDS.RequestedIncompatibleQosStatus) 
  129.    is null; 
  130.    --  <dref>DataReaderListener_on_requested_incompatible_qos</dref> 
  131.    --  <internal> 
  132.    --  Handles the StatusKind.REQUESTED_INCOMPATIBLE_QOS_STATUS 
  133.    --  communication status. 
  134.    --  </internal> 
  135.  
  136.    procedure On_Sample_Rejected 
  137.      (Self       : not null access Ref; 
  138.       The_Reader : in DDS.DataReader.Ref'Class; 
  139.       Status     : in DDS.SampleRejectedStatus) 
  140.    is null; 
  141.    --  <dref>DataReaderListener_on_sample_rejected</dref> 
  142.    --  <internal> 
  143.    --  Handles the StatusKind.SAMPLE_REJECTED_STATUS 
  144.    --  communication status. 
  145.    --  </internal> 
  146.  
  147.    procedure On_Liveliness_Changed 
  148.      (Self       : not null access Ref; 
  149.       The_Reader : in DDS.DataReader.Ref'Class; 
  150.       Status     : in DDS.LivelinessChangedStatus) 
  151.    is null; 
  152.    --  <dref>DataReaderListener_on_liveliness_changed</dref> 
  153.    --  <internal> 
  154.    --  Handles the StatusKind.LIVELINESS_CHANGED_STATUS 
  155.    --  communication status. 
  156.    --  </internal> 
  157.  
  158.    procedure On_Data_Available 
  159.      (Self       : not null access Ref; 
  160.       The_Reader : in out DDS.DataReader.Ref'Class) 
  161.    is abstract; 
  162.    --  <dref>DataReaderListener_on_data_available</dref> 
  163.    --  <internal> 
  164.    --  Handle the StatusKind.DATA_AVAILABLE_STATUS communication status. 
  165.    --  </internal> 
  166.  
  167.    procedure On_Subscription_Matched 
  168.      (Self       : not null access Ref; 
  169.       The_Reader : in DDS.DataReader.Ref'Class; 
  170.       Status     : in DDS.SubscriptionMatchedStatus) 
  171.    is null; 
  172.    --  <dref>DataReaderListener_on_subscription_matched</dref> 
  173.    --  <internal> 
  174.    --  Handles the StatusKind.SUBSCRIPTION_MATCHED_STATUS communication status. 
  175.    --  </internal> 
  176.  
  177.    procedure On_Sample_Lost 
  178.      (Self       : not null access Ref; 
  179.       The_Reader : in DDS.DataReader.Ref'Class; 
  180.       Status     : in DDS.SampleLostStatus) 
  181.    is null; 
  182.    --  <dref>DataReaderListener_on_sample_lost</dref> 
  183.  
  184. end DDS.DomainParticipantListener;