pragma Ada_2012;
pragma Ada_2012;
with DDS.StatusCondition;
with DDS.DomainParticipantListener;
with DDS.TopicListener;
with DDS.SubscriberListener;
with DDS.PublisherListener;
with DDS.PublisherSeq;
with DDS.Publisher;
with DDS.Topic;
with DDS.Entity;
with DDS.TopicDescription;
with DDS.Subscriber;
with DDS.SubscriberSeq;
with DDS.ContentFilteredTopic;
with DDS.MultiTopic;
limited with DDS.DomainParticipantFactory;
with DDS.DataWriter;
with DDS.DataWriterListener;
with DDS.DataReader;
with DDS.DataReaderListener;
with RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h;
package DDS.DomainParticipant is
pragma Elaborate_Body;
TOPIC_QOS_DEFAULT : aliased constant TopicQos with
Convention => Ada,
Import,
Link_Name => "DDS__DomainParticipant__TOPIC_QOS_DEFAULT";
PUBLISHER_QOS_DEFAULT : aliased constant PublisherQos with
Convention => Ada,
Import,
Link_Name => "DDS__DomainParticipant__PUBLISHER_QOS_DEFAULT";
SUBSCRIBER_QOS_DEFAULT : aliased constant SubscriberQos with
Convention => Ada,
Import,
Link_Name => "DDS__DomainParticipant__SUBSCRIBER_QOS_DEFAULT";
FLOW_CONTROLLER_PROPERTY_DEFAULT : aliased constant FlowControllerProperty_T with
Convention => Ada,
Import,
Link_Name => "DDS__DomainParticipant__FLOW_CONTROLLER_PROPERTY_DEFAULT";
type Ref is limited interface and DDS.Entity.Ref;
type Ref_Access is access all Ref'Class;
procedure Enable (Self : not null access Ref) is abstract;
function Get_StatusCondition (Self : not null access Ref) return
DDS.StatusCondition.Ref_Access is abstract;
function Get_Status_Changes (Self : not null access Ref) return
DDS.StatusMask is abstract;
function Get_Instance_Handle (Self : not null access Ref) return
DDS.InstanceHandle_T is abstract;
function Get_Entity_Kind (Self : not null access Ref) return
DDS.EntityKind_T is abstract;
function Create_Publisher
(Self : not null access Ref;
Qos : in DDS.PublisherQos := PUBLISHER_QOS_DEFAULT;
A_Listener : in DDS.PublisherListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Publisher.Ref_Access is abstract;
function Create_Publisher_With_Profile
(Self : not null access Ref;
Library_Name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.PublisherListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Publisher.Ref_Access is abstract;
function Create_Publisher_With_Profile
(Self : not null access Ref;
Library_Name : in Standard.String;
profile_name : in Standard.String;
A_Listener : in DDS.PublisherListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Publisher.Ref_Access is abstract;
procedure Delete_Publisher
(Self : not null access Ref;
Publisher : in out DDS.Publisher.Ref_Access) is abstract;
function Create_Subscriber
(Self : not null access Ref;
Qos : in DDS.SubscriberQos := SUBSCRIBER_QOS_DEFAULT;
A_Listener : in DDS.SubscriberListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Subscriber.Ref_Access is abstract;
function Create_Subscriber_With_Profile
(Self : not null access Ref;
Library_Name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.SubscriberListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Subscriber.Ref_Access is abstract;
function Create_Subscriber_With_Profile
(Self : not null access Ref;
Library_Name : in Standard.String;
profile_name : in Standard.String;
A_Listener : in DDS.SubscriberListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Subscriber.Ref_Access is abstract;
procedure Delete_Subscriber
(Self : not null access Ref;
S : in out DDS.Subscriber.Ref_Access) is abstract;
function Create_DataWriter
(Self : not null access Ref;
A_Topic : in DDS.Topic.Ref_Access;
Qos : in DDS.DataWriterQos := DDS.Publisher.DATAWRITER_QOS_DEFAULT;
A_Listener : in DDS.DataWriterListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataWriter.Ref_Access is abstract;
function Create_DataWriter_With_Profile
(Self : not null access Ref;
A_Topic : in DDS.Topic.Ref_Access;
Library_Name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.DataWriterListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataWriter.Ref_Access is abstract;
function Create_DataWriter_With_Profile
(Self : not null access Ref;
A_Topic : in DDS.Topic.Ref_Access;
Library_Name : in Standard.String;
profile_name : in Standard.String;
A_Listener : in DDS.DataWriterListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataWriter.Ref_Access is abstract;
procedure Delete_DataWriter
(Self : not null access Ref;
A_DataWriter : in out DDS.DataWriter.Ref_Access) is abstract;
function Create_DataReader
(Self : not null access Ref;
Topic : not null access DDS.TopicDescription.Ref'Class;
Qos : in DDS.DataReaderQoS := DDS.Subscriber.DATAREADER_QOS_DEFAULT;
A_Listener : in DDS.DataReaderListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataReader.Ref_Access is abstract;
function Create_DataReader_With_Profile
(Self : not null access Ref;
Topic : not null access DDS.TopicDescription.Ref'Class;
Library_Name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.DataReaderListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.DataReader.Ref_Access is abstract;
procedure Delete_DataReader
(Self : not null access Ref;
A_DataReader : in out DDS.DataReader.Ref_Access) is abstract;
function Get_Builtin_Subscriber
(Self : not null access Ref)
return DDS.Subscriber.Ref_Access is abstract;
function Get_Implicit_Publisher
(Self : not null access Ref)
return DDS.Publisher.Ref_Access is abstract;
function Get_Implicit_Subscriber
(Self : not null access Ref)
return DDS.Subscriber.Ref_Access is abstract;
function Create_Topic
(Self : not null access Ref;
Topic_Name : in DDS.String;
Type_Name : in DDS.String;
Qos : in DDS.TopicQos := TOPIC_QOS_DEFAULT;
A_Listener : in DDS.TopicListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Topic.Ref_Access is abstract;
function Create_Topic_With_Profile
(Self : not null access Ref;
Topic_Name : in DDS.String;
Type_Name : in DDS.String;
Library_Name : in DDS.String;
profile_name : in DDS.String;
A_Listener : in DDS.TopicListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Topic.Ref_Access is abstract;
function Create_Topic_With_Profile
(Self : not null access Ref;
Topic_Name : in DDS.String;
Type_Name : in DDS.String;
Library_Name : in Standard.String;
profile_name : in Standard.String;
A_Listener : in DDS.TopicListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE)
return DDS.Topic.Ref_Access is abstract;
function Get_Or_Create_Topic
(Self : not null access Ref;
Topic_Name : in DDS.String;
Type_Name : in DDS.String;
Qos : in DDS.TopicQos := DDS.DomainParticipant.TOPIC_QOS_DEFAULT;
A_Listener : in DDS.TopicListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Topic.Ref_Access is abstract;
function Get_Or_Create_Topic_With_Profile
(Self : not null access Ref;
Topic_Name : in DDS.String;
Type_Name : in DDS.String;
Library_Name : in DDS.String;
Profile_Name : in DDS.String;
A_Listener : in DDS.TopicListener.Ref_Access := null;
Mask : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Topic.Ref_Access is abstract;
procedure Delete_Topic
(Self : not null access Ref;
A_Topic : in out DDS.Topic.Ref_Access) is abstract;
function Find_Topic
(Self : not null access Ref;
Topic_Name : in DDS.String;
Timeout : in DDS.Duration_T)
return DDS.Topic.Ref_Access is abstract;
function Lookup_Topicdescription
(Self : not null access Ref;
Name : in DDS.String)
return DDS.TopicDescription.Ref_Access is abstract;
function Create_Contentfilteredtopic
(Self : not null access Ref;
Name : in DDS.String;
Related_Topic : in DDS.Topic.Ref_Access;
Filter_Expression : in DDS.String;
Expression_Parameters : access DDS.String_Seq.Sequence)
return DDS.ContentFilteredTopic.Ref_Access is abstract;
procedure Delete_Contentfilteredtopic
(Self : not null access Ref;
A_Contentfilteredtopic : in out DDS.ContentFilteredTopic.Ref_Access) is abstract;
function Create_MultiTopic
(Self : not null access Ref;
Name : in DDS.String;
Type_Name : in DDS.String;
Subscription_Expression : in DDS.String;
Expression_Parameters : access DDS.String_Seq.Sequence)
return DDS.MultiTopic.Ref_Access is abstract;
procedure Delete_MultiTopic
(Self : not null access Ref;
MTopic : in out DDS.MultiTopic.Ref_Access) is abstract;
procedure Delete_Contained_Entities
(Self : not null access Ref) is abstract;
procedure Set_Qos
(Self : not null access Ref;
Qos : in DDS.DomainParticipantQos) is abstract;
procedure Set_Qos_With_Profile
(Self : not null access Ref;
library_name : in String;
profile_name : in String) is abstract;
procedure Set_Qos_With_Profile
(Self : not null access Ref;
library_name : in Standard.String;
profile_name : in Standard.String) is abstract;
procedure Get_Qos
(Self : not null access Ref;
Qos : in out DDS.DomainParticipantQos) is abstract;
procedure Set_Listener
(Self : not null access Ref;
A_Listener : DDS.DomainParticipantListener.Ref_Access;
Mask : in DDS.StatusMask) is abstract;
function Get_Listener
(Self : not null access Ref)
return DDS.DomainParticipantListener.Ref_Access is abstract;
procedure Ignore_Participant
(Self : not null access Ref;
Handle : in DDS.InstanceHandle_T) is abstract;
procedure Ignore_Topic
(Self : not null access Ref;
Handle : in DDS.InstanceHandle_T) is abstract;
procedure Ignore_Publication
(Self : not null access Ref;
Handle : in DDS.InstanceHandle_T) is abstract;
procedure Ignore_Subscription
(Self : not null access Ref;
Handle : in DDS.InstanceHandle_T) is abstract;
function Get_Domain_Id
(Self : not null access Ref)
return DDS.DomainId_T is abstract;
function Get_Factory
(Self : not null access Ref)
return not null access DDS.DomainParticipantFactory.Ref is abstract;
procedure Assert_Liveliness
(Self : not null access Ref) is abstract;
procedure Set_Default_DataReader_Qos
(Self : not null access Ref;
Qos : in DDS.DataReaderQoS) is abstract;
procedure Set_Default_DataReader_Qos_With_Profile
(Self : not null access Ref;
libName : DDS.String;
profName : DDS.String) is abstract;
procedure Set_Default_DataReader_Qos_With_Profile
(Self : not null access Ref;
libName : Standard.String;
profName : Standard.String) is abstract;
procedure Set_Default_DataWriter_Qos
(Self : not null access Ref;
Qos : in DDS.DataWriterQoS) is abstract;
procedure Set_Default_DataWriter_Qos_With_Profile
(Self : not null access Ref;
libName : DDS.String;
profName : DDS.String) is abstract;
procedure Set_Default_DataWriter_Qos_With_Profile
(Self : not null access Ref;
libName : Standard.String;
profName : Standard.String) is abstract;
procedure Set_Default_Publisher_Qos
(Self : not null access Ref;
Qos : in DDS.PublisherQos) is abstract;
procedure Set_Default_Publisher_Qos_With_Profile
(Self : not null access Ref;
libName : DDS.String;
profName : DDS.String) is abstract;
procedure Set_Default_Publisher_Qos_With_Profile
(Self : not null access Ref;
libName : Standard.String;
profName : Standard.String) is abstract;
procedure Get_Default_Publisher_Qos
(Self : not null access Ref;
Qos : in out DDS.PublisherQos) is abstract;
procedure Set_Default_Subscriber_Qos
(Self : not null access Ref;
Qos : in DDS.SubscriberQos) is abstract;
procedure Set_Default_Subscriber_Qos_With_Profile
(Self : not null access Ref;
libraryName : DDS.String;
profileName : DDS.String) is abstract;
procedure Set_Default_Subscriber_Qos_With_Profile
(Self : not null access Ref;
libraryName : Standard.String;
profileName : Standard.String) is abstract;
procedure Get_Default_Subscriber_Qos
(Self : not null access Ref;
Qos : in out DDS.SubscriberQos) is abstract;
procedure Get_Default_DataReader_Qos
(Self : not null access Ref;
Qos : in out DDS.DataReaderQoS) is abstract;
procedure Get_Default_DataWriter_Qos
(Self : not null access Ref;
Qos : in out DDS.DataWriterQos) is abstract;
procedure Set_Default_Topic_Qos
(Self : not null access Ref;
Qos : in DDS.TopicQos) is abstract;
procedure Set_Default_Topic_Qos_With_Profile
(Self : not null access Ref;
libraryName : DDS.String;
profileName : DDS.String) is abstract;
procedure Set_Default_Topic_Qos_With_Profile
(Self : not null access Ref;
libraryName : Standard.String;
profileName : Standard.String) is abstract;
procedure Get_Default_Topic_Qos
(Self : not null access Ref;
Qos : in out DDS.TopicQos) is abstract;
procedure Set_Default_Profile
(Self : not null access Ref;
library_name : DDS.String;
profile_name : DDS.String) is abstract;
procedure Set_Default_Library
(Self : not null access Ref;
library_name : DDS.String) is abstract;
function Get_Default_Library
(Self : not null access Ref)
return DDS.String is abstract;
function Get_Default_Profile
(Self : not null access Ref)
return DDS.String is abstract;
function Get_Default_Profile_Library
(Self : not null access Ref)
return DDS.String is abstract;
procedure Get_Default_Flowcontroller_Property
(Self : not null access Ref;
Property : in out DDS.FlowControllerProperty_T) is abstract;
procedure Set_Default_Flowcontroller_Property
(Self : not null access Ref;
Property : in DDS.FlowControllerProperty_T) is abstract;
function Get_Discovered_Participants
(Self : access Ref)
return DDS.InstanceHandle_Seq.Sequence is abstract;
function Get_Discovered_Participant_Data
(Self : not null access Ref;
Participant_Handle : in DDS.InstanceHandle_T)
return DDS.ParticipantBuiltinTopicData is abstract;
function Get_Discovered_Topics
(Self : access Ref)
return DDS.InstanceHandle_Seq.Sequence is abstract;
function Get_Discovered_Topic_Data
(Self : not null access Ref;
Topic_Handle : in DDS.InstanceHandle_T)
return DDS.TopicBuiltinTopicData is abstract;
function Contains_Entity
(Self : not null access Ref;
A_Handle : in DDS.InstanceHandle_T)
return Boolean is abstract;
function Get_Current_Time
(Self : not null access Ref)
return DDS.Time_T is abstract;
procedure Add_Peer
(Self : not null access Ref;
peer_desc_string : DDS.String) is abstract;
procedure Get_Publishers
(Self : not null access Ref;
publishers : access DDS.PublisherSeq.Sequence) is abstract;
procedure Get_Subscribers
(Self : not null access Ref;
subscribers : access DDS.SubscriberSeq.Sequence) is abstract;
end DDS.DomainParticipant;