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.QueryCondition; 
  12. with DDS.ReadCondition_Impl; 
  13. with RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h; 
  14. with DDS.DataReader_Impl; 
  15.  
  16. package DDS.QueryCondition_Impl is 
  17.    use RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h; 
  18.    use DDS.DataReader_Impl; 
  19.    type Ref is new DDS.ReadCondition_Impl.Ref and DDS.QueryCondition.Ref with null record; 
  20.    type Ref_Access is access all Ref'Class; 
  21.  
  22.    function Get_Query_Expression 
  23.      (Self : not null access Ref) 
  24.      return DDS.String; 
  25.  
  26.    procedure Get_Query_Parameters 
  27.      (Self   : not null access Ref; 
  28.       Params : not null access DDS.String_Seq.Sequence); 
  29.  
  30.    procedure Set_Query_Parameters 
  31.      (Self   : not null access Ref; 
  32.       Params : DDS.String_Seq.Sequence); 
  33.  
  34.    function Get_ReadConditionImpl_I 
  35.      (Self : access Ref) 
  36.       return DDS.ReadCondition_Impl.Ref_Access; 
  37.  
  38.    function CreateI 
  39.      (C_DataReader  : DDS_DataReader_Access; 
  40.       Sample_Mask   : DDS.SampleStateMask; 
  41.       View_Mask     : DDS.ViewStateMask; 
  42.       Instance_Mask : DDS.InstanceStateMask; 
  43.       Query         : DDS.String; 
  44.       Query_Params  : DDS.String_Seq.Sequence) 
  45.       return DDS.QueryCondition.Ref_Access; 
  46.  
  47.    procedure Free (Self : access Ref'Class); 
  48.    type DDS_QueryCondition_Access is access all DDS_QueryCondition with Storage_Size => 0; 
  49.    function GetInterface (Self : not null access Ref) return DDS_QueryCondition_Access; 
  50.    procedure SetInterface (Self : not null access Ref; To : DDS_QueryCondition_Access); 
  51. private 
  52.  
  53.    procedure Free_Impl is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access); 
  54.    procedure Free_Mem (Self : in out Ref_Access) renames Free_Impl; 
  55. end DDS.QueryCondition_Impl;