pragma Ada_2012;
with RTIDDS.Obj_Impl;
with DDS.DomainParticipant;
with DDS.DomainParticipantListener;
private with RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h;
with RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h;
package DDS.DomainParticipantFactory is
type Ref is new RTIDDS.Obj_Impl.Ref with private;
type Ref_Access is access all Ref'Class;
PARTICIPANT_QOS_DEFAULT : aliased DDS.DomainParticipantQos;
function Get_Instance return Ref_Access;
function Create_Participant
(Self : not null access Ref;
Domain_Id : in DDS.DomainId_T := Default_Domain;
Qos : in DDS.DomainParticipantQos := PARTICIPANT_QOS_DEFAULT;
A_Listener : in DDS.DomainParticipantListener.Ref_Access := null;
Mask : in DDS.StatusMask := DDS.STATUS_MASK_NONE)
return DDS.DomainParticipant.Ref_Access;
function Create_Participant_With_Profile
(Self : not null access Ref;
Domain_Id : in DDS.DomainId_T := Default_Domain;
library_name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.DomainParticipantListener.Ref_Access := null;
Mask : in DDS.StatusMask := DDS.STATUS_MASK_NONE)
return DDS.DomainParticipant.Ref_Access;
function Create_Participant_With_Profile
(Self : not null access Ref;
Domain_Id : in DDS.DomainId_T := Default_Domain;
library_name : in Standard.String;
profile_name : in Standard.String;
A_Listener : in DDS.DomainParticipantListener.Ref_Access := null;
Mask : in DDS.StatusMask := DDS.STATUS_MASK_NONE)
return DDS.DomainParticipant.Ref_Access;
function Get_Or_Create_Participant
(Self : not null access Ref;
Domain_Id : in DDS.DomainId_T := Default_Domain;
Qos : in DDS.DomainParticipantQos := DDS.DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT;
A_Listener : in DDS.DomainParticipantListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DomainParticipant.Ref_Access;
function Get_Or_Create_Participant_With_Profile
(Self : not null access Ref;
Domain_Id : in DDS.DomainId_T := Default_Domain;
Library_Name : in DDS.String;
Profile_Name : in DDS.String;
A_Listener : in DDS.DomainParticipantListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DomainParticipant.Ref_Access;
procedure Delete_Participant
(Self : not null access Ref;
A_Participant : in out DDS.DomainParticipant.Ref_Access);
function Lookup_Participant
(Self : not null access Ref;
Domain_Id : in DDS.DomainId_T)
return DDS.DomainParticipant.Ref_Access;
procedure Set_Default_Participant_Qos
(Self : not null access Ref;
Qos : in DDS.DomainParticipantQos);
procedure Set_Default_Participant_Qos_with_Profile
(Self : not null access Ref;
libraryName : in DDS.String;
profile_name : in DDS.String);
procedure Get_Default_Participant_Qos
(Self : not null access Ref;
Qos : in out DDS.DomainParticipantQos);
procedure Set_Qos
(Self : not null access Ref;
Qos : in DDS.DomainParticipantFactoryQos);
procedure Load_Profiles
(Self : not null access Ref);
procedure Reload_Profiles
(Self : not null access Ref);
procedure Unload_Profiles
(Self : not null access Ref);
procedure Set_Default_Profile
(Self : not null access Ref;
library_name : DDS.String;
profile_name : DDS.String);
procedure set_default_library
(Self : not null access Ref;
library_name : DDS.String);
function get_default_library
(Self : not null access Ref) return DDS.String;
function get_default_Profile
(Self : not null access Ref) return DDS.String;
function get_default_profile_library
(Self : not null access Ref) return DDS.String;
procedure get_qos_profile_libraries
(Self : not null access Ref;
libSeq : not null access DDS.String_Seq.Sequence);
function get_qos_profile_libraries
(Self : not null access Ref) return DDS.String_Seq.Sequence;
procedure get_qos_profiles
(Self : not null access Ref;
profSeq : not null access DDS.String_Seq.Sequence;
libName : in DDS.String);
function get_qos_profiles
(Self : not null access Ref;
libName : in DDS.String) return DDS.String_Seq.Sequence;
procedure get_participant_qos_from_profile
(Self : not null access Ref;
QoS : in out DDS.DomainParticipantQos;
library_name : DDS.String;
profile_name : DDS.String);
procedure get_publisher_qos_from_profile
(Self : not null access Ref;
QoS : in out DDS.PublisherQos;
library_name : DDS.String;
profile_name : DDS.String);
procedure get_subscriber_qos_from_profile
(Self : not null access Ref;
QoS : in out DDS.SubscriberQos;
library_name : DDS.String;
profile_name : DDS.String);
procedure get_datareader_qos_from_profile
(Self : not null access Ref;
QoS : in out DDS.DataReaderQos;
library_name : DDS.String;
profile_name : DDS.String);
procedure get_datareader_qos_from_profile_w_topic_name
(Self : not null access Ref;
QoS : in out DDS.DataReaderQos;
library_name : DDS.String;
profile_name : DDS.String;
topic_name : DDS.String);
procedure get_datawriter_qos_from_profile
(Self : not null access Ref;
QoS : in out DDS.DataWriterQos;
library_name : DDS.String;
profile_name : DDS.String);
procedure get_datawriter_qos_from_profile_w_topic_name
(Self : not null access Ref;
QoS : in out DDS.DataWriterQos;
library_name : DDS.String;
profile_name : DDS.String;
topic_name : DDS.String);
procedure get_topic_qos_from_profile
(Self : not null access Ref;
QoS : in out DDS.TopicQos;
library_name : DDS.String;
profile_name : DDS.String);
procedure get_topic_qos_from_profile_w_topic_name
(Self : not null access Ref;
QoS : in out DDS.TopicQos;
library_name : DDS.String;
profile_name : DDS.String;
topic_name : DDS.String);
procedure Get_Qos
(Self : not null access Ref;
Qos : in out DDS.DomainParticipantFactoryQos);
procedure Finalize_Instance (Self : not null access Ref);
procedure Unregister_Thread (Self : not null access Ref);
type DDS_DomainParticipantFactory_Access is access all RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_DomainParticipantFactory with Storage_Size => 0;
function GetInterface (Self : not null access Ref) return DDS_DomainParticipantFactory_Access;
procedure SetInterface (Self : not null access Ref; To : DDS_DomainParticipantFactory_Access);
private
type Ref is new RTIDDS.Obj_Impl.Ref with null record;
protected Initializeer is
procedure Initialize;
end Initializeer;
procedure On_Thread_Started_Callback
(OnStartedParam : System.Address;
Worker : access RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h.REDAWorker);
pragma Convention (C, On_Thread_Started_Callback);
procedure On_Thread_Stopped_Callback
(OnStartedParam : System.Address;
Worker : access RTIDDS.Low_Level.ndds_reda_reda_worker_impl_h.REDAWorker);
pragma Convention (C, On_Thread_Stopped_Callback);
end DDS.DomainParticipantFactory;