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.ndds_dds_c_dds_c_publication_h.DDS_AcknowledgmentInfo) is null; 
  100.    --  <dref>DataWriterListener_on_application_acknowledgment</dref> 
  101.  
  102.    procedure On_Service_Request_Accepted 
  103.      (Self   : not null access Ref; 
  104.       Writer : access DDS.DataWriter.Ref'Class; 
  105.       Info : in RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_ServiceRequestAcceptedStatus) is null; 
  106.    --  <dref>DataWriterListener_on_service_request_accepted</dref> 
  107.  
  108.    procedure On_Data_On_Readers 
  109.      (Self           : not null access Ref; 
  110.       The_Subscriber : in out DDS.Subscriber.Ref'Class) is null; 
  111.    --  <dref>SubscriberListener_on_data_on_readers</dref> 
  112.  
  113.    procedure On_Requested_Deadline_Missed 
  114.      (Self       : not null access Ref; 
  115.       The_Reader : in DDS.DataReader.Ref'Class; 
  116.       Status     : in DDS.RequestedDeadlineMissedStatus) 
  117.    is null; 
  118.    --  <dref>DataReaderListener_on_requested_deadline_missed</dref> 
  119.    --  <internal> 
  120.    --  Handles the StatusKind.REQUESTED_DEADLINE_MISSED_STATUS 
  121.    --  communication status. 
  122.    --  </internal> 
  123.  
  124.    procedure On_Requested_Incompatible_Qos 
  125.      (Self       : not null access Ref; 
  126.       The_Reader : in DDS.DataReader.Ref'Class; 
  127.       Status     : in DDS.RequestedIncompatibleQosStatus) 
  128.    is null; 
  129.    --  <dref>DataReaderListener_on_requested_incompatible_qos</dref> 
  130.    --  <internal> 
  131.    --  Handles the StatusKind.REQUESTED_INCOMPATIBLE_QOS_STATUS 
  132.    --  communication status. 
  133.    --  </internal> 
  134.  
  135.    procedure On_Sample_Rejected 
  136.      (Self       : not null access Ref; 
  137.       The_Reader : in DDS.DataReader.Ref'Class; 
  138.       Status     : in DDS.SampleRejectedStatus) 
  139.    is null; 
  140.    --  <dref>DataReaderListener_on_sample_rejected</dref> 
  141.    --  <internal> 
  142.    --  Handles the StatusKind.SAMPLE_REJECTED_STATUS 
  143.    --  communication status. 
  144.    --  </internal> 
  145.  
  146.    procedure On_Liveliness_Changed 
  147.      (Self       : not null access Ref; 
  148.       The_Reader : in DDS.DataReader.Ref'Class; 
  149.       Status     : in DDS.LivelinessChangedStatus) 
  150.    is null; 
  151.    --  <dref>DataReaderListener_on_liveliness_changed</dref> 
  152.    --  <internal> 
  153.    --  Handles the StatusKind.LIVELINESS_CHANGED_STATUS 
  154.    --  communication status. 
  155.    --  </internal> 
  156.  
  157.    procedure On_Data_Available 
  158.      (Self       : not null access Ref; 
  159.       The_Reader : in out DDS.DataReader.Ref'Class) 
  160.    is abstract; 
  161.    --  <dref>DataReaderListener_on_data_available</dref> 
  162.    --  <internal> 
  163.    --  Handle the StatusKind.DATA_AVAILABLE_STATUS communication status. 
  164.    --  </internal> 
  165.  
  166.    procedure On_Subscription_Matched 
  167.      (Self       : not null access Ref; 
  168.       The_Reader : in DDS.DataReader.Ref'Class; 
  169.       Status     : in DDS.SubscriptionMatchedStatus) 
  170.    is null; 
  171.    --  <dref>DataReaderListener_on_subscription_matched</dref> 
  172.    --  <internal> 
  173.    --  Handles the StatusKind.SUBSCRIPTION_MATCHED_STATUS communication status. 
  174.    --  </internal> 
  175.  
  176.    procedure On_Sample_Lost 
  177.      (Self       : not null access Ref; 
  178.       The_Reader : in DDS.DataReader.Ref'Class; 
  179.       Status     : in DDS.SampleLostStatus) 
  180.    is null; 
  181.    --  <dref>DataReaderListener_on_sample_lost</dref> 
  182.  
  183. end DDS.DomainParticipantListener;