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