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