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