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