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