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 RTIDDS.Obj_Impl; 
  13. with DDS.ConditionSeq; 
  14. with DDS.Condition; 
  15.  
  16. package DDS.WaitSet_Impl is 
  17.    type Ref is new RTIDDS.Obj_Impl.Ref with null record; 
  18.    type Ref_Access is access all Ref'Class; 
  19.  
  20.    procedure Initialize 
  21.      (Self : in out Ref); 
  22.  
  23.    procedure Adjust 
  24.      (Self : in out Ref); 
  25.  
  26.    procedure Finalize 
  27.      (Self : in out Ref); 
  28.  
  29.    procedure Wait 
  30.      (Self              : not null access Ref; 
  31.       Active_Conditions : access DDS.ConditionSeq.Sequence; 
  32.       Timeout           : in DDS.Duration_T); 
  33.  
  34.    procedure Attach_Condition 
  35.      (Self : not null access Ref; 
  36.       Cond : not null access DDS.Condition.Ref'Class); 
  37.  
  38.    procedure Detach_Condition 
  39.      (Self : not null access Ref; 
  40.       Cond : not null access DDS.Condition.Ref'Class); 
  41.  
  42.    procedure Get_Conditions 
  43.      (Self : not null access Ref; 
  44.       cond : access DDS.ConditionSeq.Sequence); 
  45.  
  46.    procedure Free (This : in out Ref_Access); 
  47.  
  48.    procedure Set_Property 
  49.      (Self : not null access Ref; 
  50.       prop : access WaitSetProperty_T); 
  51.  
  52.    procedure Get_Property 
  53.      (Self : not null access Ref; 
  54.       prop : access WaitSetProperty_T); 
  55.  
  56. private 
  57.  
  58.    procedure Free_Impl is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access); 
  59.    procedure Free (This : in out Ref_Access) renames Free_Impl; 
  60.  
  61. end DDS.WaitSet_Impl;