pragma Ada_2012;
with DDS.Topic;
with DDS.TopicDescription_Impl;
with DDS.ContentFilteredTopic;
with DDS.DomainParticipant;
with RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h;
with RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h;
with RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h;
package DDS.ContentFilteredTopic_Impl is
use RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h;
use RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h;
use RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h;
type Ref is limited new DDS.TopicDescription_Impl.Ref and DDS.ContentFilteredTopic.Ref with private;
type Ref_Access is access all Ref'Class;
function Get_Filter_Expression
(Self : not null access Ref)
return DDS.String;
procedure Get_Expression_Parameters
(Self : not null access Ref;
Parameters : access DDS.String_Seq.Sequence);
procedure Set_Expression_Parameters
(Self : not null access Ref;
Parameters : access constant DDS.String_Seq.Sequence);
function Get_Related_Topic
(Self : not null access Ref)
return DDS.Topic.Ref_Access;
procedure Free (This : in out Ref_Access);
function CreateI
(C_Participant : access DDS_DomainParticipant;
Name : in DDS.String;
Related_Topic : in DDS.Topic.Ref_Access;
Filter_Expression : in DDS.String;
Filter_Parameters : access DDS.String_Seq.Sequence)
return DDS.ContentFilteredTopic.Ref_Access;
procedure Append_To_Expression_Parameter
(Self : not null access Ref;
Index : Natural;
Value : DDS.String);
procedure Remove_From_Expression_Parameter
(Self : not null access Ref;
Index : Natural;
Value : DDS.String);
function Get_Native_Wrapper (Self : not null access Ref)
return access DDS_ContentFilteredTopic;
function Get_FacadeI (CF_TopicW : access DDS_ContentFilteredTopic)
return Ref_Access;
procedure Finalize_Callback
(arg1 : System.Address;
arg2 : System.Address;
arg3 : access RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h.REDAWorker);
pragma Convention (C, Finalize_Callback);
private
type Ref is limited new DDS.TopicDescription_Impl.Ref and DDS.ContentFilteredTopic.Ref with null record;
procedure Free_Impl is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access);
procedure Free_Mem (This : in out Ref_Access) renames Free_Impl;
end DDS.ContentFilteredTopic_Impl;