-   
-   
-   
-   
-   
-   
-   
-   
-   
- with DDS.Entity;  
- with DDS.StatusCondition;  
- with DDS.StatusCondition_Impl;  
- with RTIDDS.Obj_Impl;  
- with RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h;  
- with DDS.DomainParticipantFactory;  
- package DDS.Entity_Impl is  
-    use RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h;  
-    type Ref is limited new RTIDDS.Obj_Impl.Ref and DDS.Entity.Ref with  
-       record  
-          StatusCondition : aliased DDS.StatusCondition_Impl.Ref;  
-          Factory         : DDS.DomainParticipantFactory.Ref_Access;  
-       end record;  
-    type Ref_Access is access all Ref'Class;  
-    type Ref_Access_constant is access constant Ref;  
-   
-    procedure Enable (Self : not null access Ref);  
-   
-    function Get_StatusCondition (Self : not null access Ref) return  
-       DDS.StatusCondition.Ref_Access;  
-   
-    function Get_Status_Changes (Self : not null access Ref) return  
-      DDS.StatusMask;  
-   
-    function Get_Instance_Handle (Self : not null access Ref) return  
-      DDS.InstanceHandle_T;  
-   
-    function Get_Entity_Kind (Self : not null access Ref) return  
-      DDS.EntityKind_T;  
-   
-    function Get_User_Data (Self : not null access Ref) return  
-      System.Address;  
-   
-    procedure Set_User_Data (Self : not null access Ref; To : System.Address);  
-   
-    type DDS_Entity_Access is access all DDS_Entity with Storage_Size => 0;  
-    procedure Entity_Initialize_I (Self : access Ref;  
-                                   CEntity : DDS_Entity_Access);  
-   
-    function Wait (Self    : not null access Ref;  
-                   Mask    : in DDS.StatusMask;  
-                   Timeout : in Duration_T := DURATION_INFINITE) return Boolean;  
-    function Wait (Self    : not null access Ref;  
-                   Mask    : in DDS.StatusMask;  
-                   Timeout : in Duration := Duration'Last) return Boolean;  
-      
-      
-   
-    procedure Wait (Self    : not null access Ref;  
-                    Mask    : in DDS.StatusMask;  
-                    Timeout : in Duration_T := DURATION_INFINITE);  
-    procedure Wait (Self    : not null access Ref;  
-                    Mask    : in DDS.StatusMask;  
-                    Timeout : in Duration := Duration'Last);  
-      
-      
-    function GetInterface (Self : not null access Ref) return DDS_Entity_Access;  
-    procedure SetInterface (Self : not null access Ref; To : DDS_Entity_Access);  
-    function Get_Factory (Self : not null access Ref) return not null access DDS.DomainParticipantFactory.Ref is (Self.Factory);  
- end DDS.Entity_Impl;