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.  
  10.  
  11. with DDS.StatusCondition; 
  12. with System; 
  13. limited with Dds.DomainParticipantFactory; 
  14. --  <dref>Entity</dref> 
  15. package DDS.Entity is 
  16.  
  17.    type Ref is limited interface and DDS.Ref; 
  18.    type Ref_Access is access all Ref'Class; 
  19.  
  20.    function "<" (Left, Right : Ref_Access) return Boolean with Inline_Always => True; 
  21.    function "=" (Left, Right : Ref_Access) return Boolean with Inline_Always => True; 
  22.  
  23.    procedure Enable (Self : not null access Ref) is abstract; 
  24.    --  <dref>Entity_enable</dref> 
  25.  
  26.    function Get_StatusCondition (Self : not null access Ref) return 
  27.      DDS.StatusCondition.Ref_Access is abstract; 
  28.    --  <dref>Entity_get_statuscondition</dref> 
  29.  
  30.    function Get_Status_Changes (Self : not null access Ref) return 
  31.      DDS.StatusMask is abstract; 
  32.    --  <dref>Entity_get_status_changes</dref> 
  33.  
  34.    function Get_Instance_Handle (Self : not null access Ref) return 
  35.      DDS.InstanceHandle_T is abstract; 
  36.    --  <dref>Entity_get_instance_handle</dref> 
  37.  
  38.    function Get_Entity_Kind (Self : not null access Ref) return 
  39.      DDS.EntityKind_T is abstract; 
  40.    --  <dref internal="true">Entity_get_entity_kind</dref> 
  41.  
  42.  
  43.    function Wait (Self    : not null access Ref; 
  44.                   Mask    : in DDS.StatusMask; 
  45.                   Timeout : in Duration_T := DURATION_INFINITE) return Boolean  is abstract; 
  46.    function Wait (Self    : not null access Ref; 
  47.                   Mask    : in DDS.StatusMask; 
  48.                   Timeout : in Duration := Duration'Last) return Boolean is abstract; 
  49.    --  Allows an application thread to wait for a status change . 
  50.    --  Returns True if the condition triggerd and False if it was the timeout. 
  51.  
  52.    procedure Wait (Self    : not null access Ref; 
  53.                    Mask    : in DDS.StatusMask; 
  54.                    Timeout : in Duration_T := DURATION_INFINITE) is abstract; 
  55.    procedure Wait (Self    : not null access Ref; 
  56.                    Mask    : in DDS.StatusMask; 
  57.                    Timeout : in Duration := Duration'Last) is abstract; 
  58.    --  Allows an application thread to wait for a status change. 
  59.    --  Raises DDS.TIMEOUT on timeout. 
  60.  
  61.    function GetInterface (Self : not null access constant Ref) 
  62.                           return System.Address is abstract; 
  63.  
  64.    procedure SetInterface (Self : not null access Ref; 
  65.                            To   : System.Address) is abstract; 
  66.  
  67.    function Get_Factory (Self : not null access Ref) return not null access DDS.DomainParticipantFactory.Ref is abstract; 
  68. end DDS.Entity;