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. pragma Ada_2012; 
  11.  
  12. limited with DDS.DomainParticipant; 
  13. with DDS.SubscriberListener; 
  14. with DDS.DataReaderListener; 
  15. with DDS.Domain_Entity; 
  16. with DDS.DataReader; 
  17. with DDS.DataReaderSeq; 
  18. with DDS.TopicDescription; 
  19.  
  20. --  <module name="DDSSubscriptionModule" actualName="Subscrpition Module">subscription</module> 
  21. --  <dref>Subscriber</dref> 
  22. package DDS.Subscriber is 
  23.    pragma Elaborate_Body; 
  24.    DATAREADER_QOS_DEFAULT : aliased  constant DataReaderQoS with 
  25.      Convention => Ada, 
  26.      Import, 
  27.      Link_Name => "DDS__Subscriber_DATAREADER_QOS_DEFAULT"; 
  28.    --  <dref>DATAREADER_QOS_DEFAULT</dref> 
  29.  
  30.    DATAREADER_QOS_USE_TOPIC_QOS :  aliased  constant DataReaderQoS with 
  31.      Convention => Ada, 
  32.      Import, 
  33.      Link_Name => "DDS__Subscriber_DATAREADER_QOS_USE_TOPIC_QOS"; 
  34.    --  <dref>DATAREADER_QOS_USE_TOPIC_QOS</dref> 
  35.  
  36.    type Ref is limited interface and DDS.Domain_Entity.Ref; 
  37.    type Ref_Access is access all Ref'Class; 
  38.  
  39.    type Ref_Access_Access is access all Ref_Access; 
  40.    type Ref_Access_Array is array (Natural range <>) of aliased Ref_Access; 
  41.    procedure Initialize 
  42.      (Self : in out Ref_Access) is null; 
  43.    procedure Finalize 
  44.      (Self : in out Ref_Access) is null; 
  45.    procedure Copy 
  46.      (Dst : in out Ref_Access; 
  47.       Src : in Ref_Access); 
  48.  
  49.    function Create_DataReader 
  50.      (Self       : not null access Ref; 
  51.       Topic      : not null access DDS.TopicDescription.Ref'Class; 
  52.       Qos        : in DDS.DataReaderQoS := DATAREADER_QOS_DEFAULT; 
  53.       A_Listener : in DDS.DataReaderListener.Ref_Access := null; 
  54.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  55.       return DDS.DataReader.Ref_Access is abstract; 
  56.    --  <dref>Subscriber_create_datareader</dref> 
  57.  
  58.    function Create_DataReader_With_Profile 
  59.      (Self         : not null access Ref; 
  60.       Topic        : not null access DDS.TopicDescription.Ref'Class; 
  61.       Library_Name : in DDS.String; 
  62.       profile_name : in DDS.String; 
  63.       A_Listener   : in DDS.DataReaderListener.Ref_Access := null; 
  64.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  65.       return DDS.DataReader.Ref_Access is abstract; 
  66.    function Create_DataReader_With_Profile 
  67.      (Self         : not null access Ref; 
  68.       Topic        : not null access DDS.TopicDescription.Ref'Class; 
  69.       Library_Name : in Standard.String; 
  70.       profile_name : in Standard.String; 
  71.       A_Listener   : in DDS.DataReaderListener.Ref_Access := null; 
  72.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  73.       return DDS.DataReader.Ref_Access is abstract; 
  74.    --  <dref>Subscriber_create_datareader_with_profile</dref> 
  75.  
  76.    procedure Delete_DataReader 
  77.      (Self         : not null access Ref; 
  78.       A_DataReader : in out DDS.DataReader.Ref_Access) is abstract; 
  79.    --  <dref>Subscriber_delete_datareader</dref> 
  80.  
  81.    procedure Delete_Contained_Entities 
  82.      (Self : not null access Ref) is abstract; 
  83.    --  <dref>Subscriber_delete_contained_entities</dref> 
  84.  
  85.    function Lookup_DataReader 
  86.      (Self       : not null access Ref; 
  87.       Topic_Name : in DDS.String) 
  88.       return DDS.DataReader.Ref_Access is abstract; 
  89.    --  <dref>Subscriber_lookup_datareader</dref> 
  90.  
  91.    procedure Get_DataReaders 
  92.      (Self            : not null access Ref; 
  93.       Readers         : not null access DDS.DataReaderSeq.Sequence; 
  94.       Sample_States   : in DDS.SampleStateKind; 
  95.       View_States     : in DDS.ViewStateKind; 
  96.       Instance_States : in DDS.InstanceStateKind) is abstract; 
  97.    --  <dref>Subscriber_get_datareaders</dref> 
  98.  
  99.    procedure Notify_DataReaders 
  100.      (Self : not null access Ref) is abstract; 
  101.    --  <dref>Subscriber_notify_datareaders</dref> 
  102.  
  103.    procedure Set_Qos 
  104.      (Self : not null access Ref; 
  105.       Qos  : in DDS.SubscriberQos) is abstract; 
  106.    --  <dref>Subscriber_set_qos</dref> 
  107.  
  108.    procedure Set_Qos_With_Profile 
  109.      (Self          : not null access Ref; 
  110.       library_name  : in String; 
  111.       profile_name  : in String) is abstract; 
  112.    procedure Set_Qos_With_Profile 
  113.      (Self          : not null access Ref; 
  114.       library_name  : in Standard.String; 
  115.       profile_name  : in Standard.String) is abstract; 
  116.    --  <dref>Subscriber_set_qos_with_profile</dref> 
  117.  
  118.    procedure Get_Qos 
  119.      (Self : not null access Ref; 
  120.       Qos  : in out DDS.SubscriberQos) is abstract; 
  121.    --  <dref>Subscriber_get_qos</dref> 
  122.  
  123.    procedure Set_Listener 
  124.      (Self       : not null access Ref; 
  125.       A_Listener : DDS.SubscriberListener.Ref_Access; 
  126.       Mask       : in       DDS.StatusKind) is abstract; 
  127.    --  <dref>Subscriber_set_listener</dref> 
  128.  
  129.    function Get_Listener 
  130.      (Self : not null access Ref) 
  131.       return DDS.SubscriberListener.Ref_Access is abstract; 
  132.    --  <dref>Subscriber_get_listener</dref> 
  133.  
  134.    procedure Begin_Access 
  135.      (Self : not null access Ref) is abstract; 
  136.    --  <dref>Subscriber_begin_access</dref> 
  137.  
  138.    procedure End_Access 
  139.      (Self : not null access Ref) is abstract; 
  140.    --  <dref>Subscriber_end_access</dref> 
  141.  
  142.    function Get_Participant 
  143.      (Self : not null access Ref) 
  144.       return access DDS.DomainParticipant.Ref'Class is abstract; 
  145.    --  <dref>Subscriber_get_participant</dref> 
  146.  
  147.    procedure Set_Default_DataReader_Qos 
  148.      (Self : not null access Ref; 
  149.       Qos  : in DDS.DataReaderQoS) is abstract; 
  150.    --  <dref>Subscriber_set_default_datareader_qos</dref> 
  151.  
  152.    procedure Set_Default_DataReader_Qos_With_Profile 
  153.      (Self     : not null access Ref; 
  154.       libName  : DDS.String; 
  155.       profName : DDS.String) is abstract; 
  156.    procedure Set_Default_DataReader_Qos_With_Profile 
  157.      (Self     : not null access Ref; 
  158.       libName  : Standard.String; 
  159.       profName : Standard.String) is abstract; 
  160.    --  <dref>Subscriber_set_default_datareader_qos_with_profile</dref> 
  161.  
  162.    procedure Get_Default_DataReader_Qos 
  163.      (Self : not null access Ref; 
  164.       Qos  : in out DDS.DataReaderQoS) is abstract; 
  165.    --  <dref>Subscriber_get_default_datareader_qos</dref> 
  166.  
  167.    procedure Copy_From_Topic_Qos 
  168.      (Self           : not null access Ref; 
  169.       A_DataReader_Qos : in out DDS.DataReaderQoS; 
  170.       A_Topic_Qos      : in DDS.TopicQos) is abstract; 
  171.    --  <dref>Subscriber_copy_from_topic_qos</dref> 
  172.  
  173.    procedure Set_Default_Profile 
  174.      (Self          : not null access Ref; 
  175.       library_name  : DDS.String; 
  176.       profile_name  : DDS.String) is abstract; 
  177.    --  <dref>Subscriber_set_default_profile</dref> 
  178.  
  179.    procedure Set_Default_Library 
  180.      (Self          : not null access Ref; 
  181.       library_name   : DDS.String) is abstract; 
  182.    --  <dref>Subscriber_set_default_library</dref> 
  183.  
  184.    function Get_Default_Library 
  185.      (Self : not null access Ref) 
  186.       return DDS.String is abstract; 
  187.    --  <dref>Subscriber_get_default_library</dref> 
  188.  
  189.    function Get_Default_Profile 
  190.      (Self : not null access Ref) 
  191.       return DDS.String is abstract; 
  192.    --  <dref>Subscriber_get_default_profile</dref> 
  193.  
  194.    function Get_Default_Profile_Library 
  195.      (Self : not null access Ref) 
  196.       return DDS.String is abstract; 
  197.    --  <dref>Subscriber_get_default_profile_library</dref> 
  198.  
  199.    --  ------------------------------------------------------------------------- 
  200.    --     Internal interface 
  201.    --  ------------------------------------------------------------------------- 
  202.    procedure  call_listener (Self  : not null access Ref; 
  203.                              mask  : StatusMask) is abstract; 
  204.  
  205.  
  206. end DDS.Subscriber;