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.  
  11.  
  12. with DDS.Entity; 
  13. with DDS.Domain_Entity; 
  14. with DDS.TopicListener; 
  15. with DDS.TopicDescription; 
  16. limited with DDS.DomainParticipant; 
  17. with RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h; use RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h; 
  18.  
  19. --  <module name="DDSBuiltInTypesModule" actualName="Built-in Types">builtintypes</module> 
  20. --  <dref>Topic</dref> 
  21. package DDS.Topic is 
  22.  
  23.    type Ref is limited interface and DDS.TopicDescription.Ref and DDS.Domain_Entity.Ref; 
  24.    type Ref_Access is access all Ref'Class; 
  25.  
  26.    procedure Set_Qos 
  27.      (Self : not null access Ref; 
  28.       Qos  : in DDS.TopicQos) is abstract; 
  29.    --  <dref>Topic_set_qos</dref> 
  30.  
  31.    procedure Set_Qos_With_Profile 
  32.      (Self : not null access Ref; 
  33.       library_name  : in String; 
  34.       profile_name  : in String) is abstract; 
  35.    procedure Set_Qos_With_Profile 
  36.      (Self : not null access Ref; 
  37.       library_name  : in Standard.String; 
  38.       profile_name  : in Standard.String) is abstract; 
  39.    --  <dref>Topic_set_qos_with_profile</dref> 
  40.  
  41.    procedure Get_Qos 
  42.      (Self : not null access Ref; 
  43.       Qos  : in out DDS.TopicQos) is abstract; 
  44.    --  <dref>Topic_get_qos</dref> 
  45.  
  46.    procedure Set_Listener 
  47.      (Self       : not null access Ref; 
  48.       A_Listener : in DDS.TopicListener.Ref_Access; 
  49.       Mask       : in DDS.StatusMask) is abstract; 
  50.    --  <dref>Topic_set_listener</dref> 
  51.  
  52.    function Get_Listener 
  53.      (Self : not null access Ref) 
  54.       return DDS.TopicListener.Ref_Access is abstract; 
  55.    --  <dref>Topic_get_listener</dref> 
  56.  
  57.    procedure Get_Inconsistent_Topic_Status 
  58.      (Self   : not null access Ref; 
  59.       Status : in out DDS.InconsistentTopicStatus) is abstract; 
  60.    --  <dref>Topic_get_inconsistent_topic_status</dref> 
  61.  
  62.    --  --------------------- 
  63.    --  from TopicDescription 
  64.    --  --------------------- 
  65.  
  66.    function Get_Type_Name 
  67.      (Self : not null access Ref) 
  68.       return DDS.String is abstract; 
  69.  
  70.    function Get_Name 
  71.      (Self : not null access Ref) 
  72.       return DDS.String is abstract; 
  73.  
  74.    function Get_Participant 
  75.      (Self : not null access Ref) 
  76.      return access DDS.DomainParticipant.Ref'Class is abstract; 
  77.  
  78.    function As_TopicDescription 
  79.      (Self : not null access Ref) 
  80.       return DDS.TopicDescription.Ref_Access is abstract; 
  81.    --  <dref>Topic_as_topicdescription</dref> 
  82.  
  83.    function Narrow (Self : not null access DDS.TopicDescription.Ref'Class) 
  84.                     return Ref_Access; 
  85.    --  <dref>Topic_narrow</dref> 
  86.  
  87.    function To_Topic (Self : not null access DDS.TopicDescription.Ref'Class) 
  88.                     return Ref_Access; 
  89.    --  <dref>Topic_narrow</dref> 
  90.  
  91.    function Narrow_From_Entity (Self : not null access DDS.Entity.Ref'Class) 
  92.                                 return Ref_Access; 
  93.    --  <dref>Topic_narrow_from_entity</dref> 
  94. end DDS.Topic;