pragma Ada_2012;
with DDS.QueryCondition;
with DDS.ReadCondition_Impl;
with RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h;
with DDS.DataReader_Impl;
package DDS.QueryCondition_Impl is
use RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h;
use DDS.DataReader_Impl;
type Ref is new DDS.ReadCondition_Impl.Ref and DDS.QueryCondition.Ref with null record;
type Ref_Access is access all Ref'Class;
function Get_Query_Expression
(Self : not null access Ref)
return DDS.String;
procedure Get_Query_Parameters
(Self : not null access Ref;
Params : not null access DDS.String_Seq.Sequence);
procedure Set_Query_Parameters
(Self : not null access Ref;
Params : DDS.String_Seq.Sequence);
function Get_ReadConditionImpl_I
(Self : access Ref)
return DDS.ReadCondition_Impl.Ref_Access;
function CreateI
(C_DataReader : DDS_DataReader_Access;
Sample_Mask : DDS.SampleStateMask;
View_Mask : DDS.ViewStateMask;
Instance_Mask : DDS.InstanceStateMask;
Query : DDS.String;
Query_Params : DDS.String_Seq.Sequence)
return DDS.QueryCondition.Ref_Access;
procedure Free (Self : access Ref'Class);
type DDS_QueryCondition_Access is access all DDS_QueryCondition with Storage_Size => 0;
function GetInterface (Self : not null access Ref) return DDS_QueryCondition_Access;
procedure SetInterface (Self : not null access Ref; To : DDS_QueryCondition_Access);
private
procedure Free_Impl is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access);
procedure Free_Mem (Self : in out Ref_Access) renames Free_Impl;
end DDS.QueryCondition_Impl;