-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
- with DDS.StatusCondition;  
- with System;  
- limited with Dds.DomainParticipantFactory;  
-   
- package DDS.Entity is  
-   
-    type Ref is limited interface and DDS.Ref;  
-    type Ref_Access is access all Ref'Class;  
-   
-    function "<" (Left, Right : Ref_Access) return Boolean with Inline_Always => True;  
-    function "=" (Left, Right : Ref_Access) return Boolean with Inline_Always => True;  
-   
-    procedure Enable (Self : not null access Ref) is abstract;  
-      
-   
-    function Get_StatusCondition (Self : not null access Ref) return  
-      DDS.StatusCondition.Ref_Access is abstract;  
-      
-   
-    function Get_Status_Changes (Self : not null access Ref) return  
-      DDS.StatusMask is abstract;  
-      
-   
-    function Get_Instance_Handle (Self : not null access Ref) return  
-      DDS.InstanceHandle_T is abstract;  
-      
-   
-    function Get_Entity_Kind (Self : not null access Ref) return  
-      DDS.EntityKind_T is abstract;  
-      
-   
-   
-    function Wait (Self    : not null access Ref;  
-                   Mask    : in DDS.StatusMask;  
-                   Timeout : in Duration_T := DURATION_INFINITE) return Boolean  is abstract;  
-    function Wait (Self    : not null access Ref;  
-                   Mask    : in DDS.StatusMask;  
-                   Timeout : in Duration := Duration'Last) return Boolean is abstract;  
-      
-      
-   
-    procedure Wait (Self    : not null access Ref;  
-                    Mask    : in DDS.StatusMask;  
-                    Timeout : in Duration_T := DURATION_INFINITE) is abstract;  
-    procedure Wait (Self    : not null access Ref;  
-                    Mask    : in DDS.StatusMask;  
-                    Timeout : in Duration := Duration'Last) is abstract;  
-      
-      
-   
-    function GetInterface (Self : not null access constant Ref)  
-                           return System.Address is abstract;  
-   
-    procedure SetInterface (Self : not null access Ref;  
-                            To   : System.Address) is abstract;  
-   
-    function Get_Factory (Self : not null access Ref) return not null access DDS.DomainParticipantFactory.Ref is abstract;  
- end DDS.Entity;