-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
- 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;  
-   
- 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_Entity  
-      (Self : not null access Ref;  
-       Key  : in DDS.BuiltinTopicKey_T)  
-       return DDS.Entity.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;  
-      
-   
-    function Create_Contentfilteredtopic_With_Filter  
-      (Self                  : not null access Ref;  
-       Name                  : in DDS.String;  
-       Related_Topic         : in DDS.Topic.Ref_Access;  
-       Filter_Expression     : in DDS.String;  
-       Filter_Parameters     : access DDS.String_Seq.Sequence;  
-       Filter_Name           : in DDS.String)  
-       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_Correlation_Contentfilteredtopic  
-      (Participant      : not null access Ref;  
-       Topic            : not null DDS.Topic.Ref_Access;  
-       Correlation_Guid : DDS.Guid_T)  
-       return 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;