-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
- with DDS.Entity;  
- with DDS.Domain_Entity;  
- with DDS.TopicListener;  
- with DDS.TopicDescription;  
- limited with DDS.DomainParticipant;  
-   
-   
-   
- package DDS.Topic is  
-   
-    type Ref is limited interface and DDS.TopicDescription.Ref and DDS.Domain_Entity.Ref;  
-    type Ref_Access is access all Ref'Class;  
-   
-    procedure Set_Qos  
-      (Self : not null access Ref;  
-       Qos  : in DDS.TopicQos) is abstract;  
-      
-   
-    procedure Set_Qos_With_Profile  
-      (Self : not null access Ref;  
-       library_name  : in String;  
-       Profile_Name  : in String) is abstract;  
-    procedure Set_Qos_With_Profile  
-      (Self : not null access Ref;  
-       Library_Name  : in Standard.String;  
-       Profile_Name  : in Standard.String) is abstract;  
-      
-   
-    procedure Get_Qos  
-      (Self : not null access Ref;  
-       Qos  : in out DDS.TopicQos) is abstract;  
-      
-   
-    procedure Set_Listener  
-      (Self       : not null access Ref;  
-       A_Listener : in DDS.TopicListener.Ref_Access;  
-       Mask       : in DDS.StatusMask) is abstract;  
-      
-   
-    function Get_Listener  
-      (Self : not null access Ref)  
-       return DDS.TopicListener.Ref_Access is abstract;  
-      
-   
-    procedure Get_Inconsistent_Topic_Status  
-      (Self   : not null access Ref;  
-       Status : in out DDS.InconsistentTopicStatus) is abstract;  
-      
-   
-      
-      
-      
-   
-    function Get_Type_Name  
-      (Self : not null access Ref)  
-       return DDS.String is abstract;  
-   
-    function Get_Name  
-      (Self : not null access Ref)  
-       return DDS.String is abstract;  
-   
-    function Get_Participant  
-      (Self : not null access Ref)  
-      return access DDS.DomainParticipant.Ref'Class is abstract;  
-   
-    function As_TopicDescription  
-      (Self : not null access Ref)  
-       return DDS.TopicDescription.Ref_Access is abstract;  
-      
-   
-    function Narrow (Self : not null access DDS.TopicDescription.Ref'Class)  
-                     return Ref_Access;  
-      
-   
-    function To_Topic (Self : not null access DDS.TopicDescription.Ref'Class)  
-                     return Ref_Access;  
-      
-   
-    function Narrow_From_Entity (Self : not null access DDS.Entity.Ref'Class)  
-                                 return Ref_Access;  
-      
- end DDS.Topic;