1. --  (c) Copyright, Real-Time Innovations, $Date:: 2012-02-16 #$ 
  2. --  All rights reserved. 
  3. -- 
  4. --  No duplications, whole or partial, manual or electronic, may be made 
  5. --  without express written permission.  Any such copies, or 
  6. --  revisions thereof, must display this notice unaltered. 
  7. --  This code contains trade secrets of Real-Time Innovations, Inc. 
  8.  
  9. with DDS.StatusCondition; 
  10. with DDS.DomainParticipantListener; 
  11. with DDS.TopicListener; 
  12. with DDS.SubscriberListener; 
  13. with DDS.PublisherListener; 
  14. with DDS.PublisherSeq; 
  15. with DDS.Publisher; 
  16. with DDS.Topic; 
  17. with DDS.Entity; 
  18. with DDS.TopicDescription; 
  19. with DDS.Subscriber; 
  20. with DDS.SubscriberSeq; 
  21. with DDS.ContentFilteredTopic; 
  22. with DDS.MultiTopic; 
  23. limited with DDS.DomainParticipantFactory; 
  24. --  limited with DDS.FlowController; 
  25. with DDS.DataWriter; 
  26. with DDS.DataWriterListener; 
  27. with DDS.DataReader; 
  28. with DDS.DataReaderListener; 
  29.  
  30. --  <dref>DomainParticipant</dref> 
  31. --  <dref>Shared_domain_participant_description</dref> 
  32.  
  33. package DDS.DomainParticipant is 
  34.    pragma Elaborate_Body; 
  35.    TOPIC_QOS_DEFAULT : aliased  constant TopicQos with 
  36.      Convention => Ada, 
  37.      Import, 
  38.      Link_Name => "DDS__DomainParticipant__TOPIC_QOS_DEFAULT"; 
  39.    --  <dref>TOPIC_QOS_DEFAULT</dref> 
  40.  
  41.    PUBLISHER_QOS_DEFAULT : aliased  constant PublisherQos with 
  42.      Convention => Ada, 
  43.      Import, 
  44.      Link_Name => "DDS__DomainParticipant__PUBLISHER_QOS_DEFAULT"; 
  45.    --  <dref>PUBLISHER_QOS_DEFAULT</dref> 
  46.  
  47.    SUBSCRIBER_QOS_DEFAULT : aliased  constant SubscriberQos with 
  48.      Convention => Ada, 
  49.      Import, 
  50.      Link_Name => "DDS__DomainParticipant__SUBSCRIBER_QOS_DEFAULT"; 
  51.    --  <dref>SUBSCRIBER_QOS_DEFAULT</dref> 
  52.  
  53.    FLOW_CONTROLLER_PROPERTY_DEFAULT : aliased  constant FlowControllerProperty_T with 
  54.      Convention => Ada, 
  55.      Import, 
  56.      Link_Name => "DDS__DomainParticipant__FLOW_CONTROLLER_PROPERTY_DEFAULT"; 
  57.    --  <dref>FLOW_CONTROLLER_PROPERTY_DEFAULT</dref> 
  58.  
  59.    type Ref is limited interface and DDS.Entity.Ref; 
  60.    type Ref_Access is access all Ref'Class; 
  61.  
  62.    --  Re-Implement From DDS.DomainEntity 
  63.  
  64.    procedure Enable (Self : not null access Ref) is abstract; 
  65.  
  66.    function Get_StatusCondition (Self : not null access Ref) return 
  67.      DDS.StatusCondition.Ref_Access is abstract; 
  68.  
  69.    function Get_Status_Changes (Self : not null access Ref) return 
  70.      DDS.StatusMask is abstract; 
  71.  
  72.    function Get_Instance_Handle (Self : not null access Ref) return 
  73.      DDS.InstanceHandle_T is abstract; 
  74.  
  75.    function Get_Entity_Kind (Self : not null access Ref) return 
  76.      DDS.EntityKind_T is abstract; 
  77.  
  78.    -- 
  79.  
  80.    function Create_Publisher 
  81.      (Self       : not null access Ref; 
  82.       Qos        : in DDS.PublisherQos := PUBLISHER_QOS_DEFAULT; 
  83.       A_Listener : in DDS.PublisherListener.Ref_Access := null; 
  84.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  85.      return DDS.Publisher.Ref_Access is abstract; 
  86.    --  <dref>DomainParticipant_create_publisher</dref> 
  87.  
  88.    function Create_Publisher_With_Profile 
  89.      (Self         : not null access Ref; 
  90.       Library_Name : in DDS.String; 
  91.       profile_name : in DDS.String; 
  92.       A_Listener : in DDS.PublisherListener.Ref_Access := null; 
  93.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  94.      return DDS.Publisher.Ref_Access is abstract; 
  95.    function Create_Publisher_With_Profile 
  96.      (Self         : not null access Ref; 
  97.       Library_Name : in Standard.String; 
  98.       profile_name : in Standard.String; 
  99.       A_Listener : in DDS.PublisherListener.Ref_Access := null; 
  100.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  101.      return DDS.Publisher.Ref_Access is abstract; 
  102.    --  <dref>DomainParticipant_create_publisher_with_profile</dref> 
  103.  
  104.  
  105.    procedure Delete_Publisher 
  106.      (Self      : not null access Ref; 
  107.       Publisher : in out DDS.Publisher.Ref_Access) is abstract; 
  108.    --  <dref>DomainParticipant_delete_publisher</dref> 
  109.  
  110.  
  111.    function Create_Subscriber 
  112.      (Self       : not null access Ref; 
  113.       Qos        : in DDS.SubscriberQos := SUBSCRIBER_QOS_DEFAULT; 
  114.       A_Listener : in DDS.SubscriberListener.Ref_Access  := null; 
  115.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  116.      return DDS.Subscriber.Ref_Access is abstract; 
  117.    --  <dref>DomainParticipant_create_subscriber</dref> 
  118.  
  119.    function Create_Subscriber_With_Profile 
  120.      (Self         : not null access Ref; 
  121.       Library_Name : in DDS.String; 
  122.       profile_name : in DDS.String; 
  123.       A_Listener   : in DDS.SubscriberListener.Ref_Access  := null; 
  124.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  125.      return DDS.Subscriber.Ref_Access is abstract; 
  126.    function Create_Subscriber_With_Profile 
  127.      (Self         : not null access Ref; 
  128.       Library_Name : in Standard.String; 
  129.       profile_name : in Standard.String; 
  130.       A_Listener   : in DDS.SubscriberListener.Ref_Access  := null; 
  131.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  132.      return DDS.Subscriber.Ref_Access is abstract; 
  133.    --  <dref>DomainParticipant_create_subscriber_with_profile</dref> 
  134.  
  135.  
  136.    procedure Delete_Subscriber 
  137.      (Self :  not null access Ref; 
  138.       S    :  in out DDS.Subscriber.Ref_Access) is abstract; 
  139.    --  <dref>DomainParticipant_delete_subscriber</dref> 
  140.  
  141.  
  142.    function Create_DataWriter 
  143.      (Self       : not null access Ref; 
  144.       A_Topic    : in DDS.Topic.Ref_Access; 
  145.       Qos        : in DDS.DataWriterQos := DDS.Publisher.DATAWRITER_QOS_DEFAULT; 
  146.       A_Listener : in DDS.DataWriterListener.Ref_Access := null; 
  147.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  148.       return DDS.DataWriter.Ref_Access is abstract; 
  149.    --  <dref>DomainParticipant_create_datawriter</dref> 
  150.  
  151.    function Create_DataWriter_With_Profile 
  152.      (Self         : not null access Ref; 
  153.       A_Topic      : in DDS.Topic.Ref_Access; 
  154.       Library_Name : in DDS.String; 
  155.       profile_name : in DDS.String; 
  156.       A_Listener   : in DDS.DataWriterListener.Ref_Access := null; 
  157.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  158.       return DDS.DataWriter.Ref_Access is abstract; 
  159.    function Create_DataWriter_With_Profile 
  160.      (Self         : not null access Ref; 
  161.       A_Topic      : in DDS.Topic.Ref_Access; 
  162.       Library_Name : in Standard.String; 
  163.       profile_name : in Standard.String; 
  164.       A_Listener   : in DDS.DataWriterListener.Ref_Access := null; 
  165.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  166.       return DDS.DataWriter.Ref_Access is abstract; 
  167.    --  <dref>DomainParticipant_create_datawriter_with_profile</dref> 
  168.  
  169.  
  170.    procedure Delete_DataWriter 
  171.      (Self         : not null access Ref; 
  172.       A_DataWriter : in out DDS.DataWriter.Ref_Access) is abstract; 
  173.    --  <dref>DomainParticipant_delete_datawriter</dref> 
  174.  
  175.  
  176.    function Create_DataReader 
  177.      (Self       : not null access Ref; 
  178.       Topic      : not null access DDS.TopicDescription.Ref'Class; 
  179.       Qos        : in DDS.DataReaderQoS := DDS.Subscriber.DATAREADER_QOS_DEFAULT; 
  180.       A_Listener : in DDS.DataReaderListener.Ref_Access := null; 
  181.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  182.       return DDS.DataReader.Ref_Access is abstract; 
  183.    --  <dref>DomainParticipant_create_datareader</dref> 
  184.  
  185.    function Create_DataReader_With_Profile 
  186.      (Self         : not null access Ref; 
  187.       Topic        : not null access DDS.TopicDescription.Ref'Class; 
  188.       Library_Name : in DDS.String; 
  189.       profile_name : in DDS.String; 
  190.       A_Listener   : in DDS.DataReaderListener.Ref_Access := null; 
  191.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  192.       return DDS.DataReader.Ref_Access is abstract; 
  193.    --  <dref>DomainParticipant_create_datareader_with_profile</dref> 
  194.  
  195.  
  196.    procedure Delete_DataReader 
  197.      (Self         : not null access Ref; 
  198.       A_DataReader : in out DDS.DataReader.Ref_Access) is abstract; 
  199.    --  <dref>DomainParticipant_delete_datareader</dref> 
  200.  
  201.  
  202.    function Get_Builtin_Subscriber 
  203.      (Self :  not null access Ref) 
  204.       return DDS.Subscriber.Ref_Access is abstract; 
  205.    --  <dref>DomainParticipant_get_builtin_subscriber</dref> 
  206.  
  207.    function Get_Implicit_Publisher 
  208.      (Self :  not null access Ref) 
  209.       return DDS.Publisher.Ref_Access is abstract; 
  210.    --  <dref>DomainParticipant_get_implicit_publisher</dref> 
  211.  
  212.    function Get_Implicit_Subscriber 
  213.      (Self :  not null access Ref) 
  214.       return DDS.Subscriber.Ref_Access is abstract; 
  215.    --  <dref>DomainParticipant_get_implicit_subscriber</dref> 
  216.    --  <dref>Shared_implicit_subscriber_mt_safety</dref> 
  217.  
  218.  
  219.    function Create_Topic 
  220.      (Self       : not null access Ref; 
  221.       Topic_Name : in DDS.String; 
  222.       Type_Name  : in DDS.String; 
  223.       Qos        : in DDS.TopicQos := TOPIC_QOS_DEFAULT; 
  224.       A_Listener : in DDS.TopicListener.Ref_Access := null; 
  225.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  226.      return DDS.Topic.Ref_Access is abstract; 
  227.    --  <dref>DomainParticipant_create_topic</dref> 
  228.  
  229.    function Create_Topic_With_Profile 
  230.      (Self         : not null access Ref; 
  231.       Topic_Name   : in DDS.String; 
  232.       Type_Name    : in DDS.String; 
  233.       Library_Name : in DDS.String; 
  234.       profile_name : in DDS.String; 
  235.       A_Listener   : in DDS.TopicListener.Ref_Access := null; 
  236.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  237.       return DDS.Topic.Ref_Access is abstract; 
  238.    function Create_Topic_With_Profile 
  239.      (Self         : not null access Ref; 
  240.       Topic_Name   : in DDS.String; 
  241.       Type_Name    : in DDS.String; 
  242.       Library_Name : in Standard.String; 
  243.       profile_name : in Standard.String; 
  244.       A_Listener   : in DDS.TopicListener.Ref_Access := null; 
  245.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  246.       return DDS.Topic.Ref_Access is abstract; 
  247.    --  <dref>DomainParticipant_create_topic_with_profile</dref> 
  248.  
  249. --     function Create_FlowController 
  250. --       (Self         : not null access Ref; 
  251. --        name         : DDS.String; 
  252. --        prop         : access DDS.FlowControllerProperty_T) 
  253. --        return access DDS.FlowController.Ref'Class is abstract; 
  254.  
  255.    procedure Delete_Topic 
  256.      (Self    : not null access Ref; 
  257.       A_Topic : in out DDS.Topic.Ref_Access) is abstract; 
  258.    --  <dref>DomainParticipant_delete_topic</dref> 
  259.  
  260.  
  261.    function Find_Topic 
  262.      (Self       : not null access Ref; 
  263.       Topic_Name : in DDS.String; 
  264.       Timeout    : in DDS.Duration_T) 
  265.      return DDS.Topic.Ref_Access is abstract; 
  266.    --  <dref>DomainParticipant_find_topic</dref> 
  267.  
  268.  
  269.    function Lookup_Topicdescription 
  270.      (Self : not null access Ref; 
  271.       Name : in DDS.String) 
  272.      return DDS.TopicDescription.Ref_Access is abstract; 
  273.    --  <dref>DomainParticipant_lookup_topicdescription</dref> 
  274.  
  275.  
  276.    function Create_Contentfilteredtopic 
  277.      (Self                  : not null access Ref; 
  278.       Name                  : in DDS.String; 
  279.       Related_Topic         : in DDS.Topic.Ref_Access; 
  280.       Filter_Expression     : in DDS.String; 
  281.       Expression_Parameters : access DDS.String_Seq.Sequence) 
  282.      return DDS.ContentFilteredTopic.Ref_Access is abstract; 
  283.    --  <dref>DomainParticipant_create_contentfilteredtopic</dref> 
  284.  
  285.    procedure Delete_Contentfilteredtopic 
  286.      (Self                   : not null access Ref; 
  287.       A_Contentfilteredtopic : in out DDS.ContentFilteredTopic.Ref_Access) is abstract; 
  288.    --  <dref>DomainParticipant_delete_contentfilteredtopic</dref> 
  289.  
  290.    function Create_MultiTopic 
  291.      (Self                    : not null access Ref; 
  292.       Name                    : in DDS.String; 
  293.       Type_Name               : in DDS.String; 
  294.       Subscription_Expression : in DDS.String; 
  295.       Expression_Parameters   : access DDS.String_Seq.Sequence) 
  296.       return DDS.MultiTopic.Ref_Access is abstract; 
  297.    --  <dref>DomainParticipant_create_multitopic</dref> 
  298.  
  299.    procedure Delete_MultiTopic 
  300.      (Self     : not null access Ref; 
  301.       MTopic  : in out DDS.MultiTopic.Ref_Access) is abstract; 
  302.    --  <dref>DomainParticipant_delete_multitopic</dref> 
  303.  
  304.    procedure Delete_Contained_Entities 
  305.      (Self :  not null access Ref) is abstract; 
  306.    --  <dref>DomainParticipant_delete_contained_entities</dref> 
  307.  
  308.  
  309.    procedure Set_Qos 
  310.      (Self : not null access Ref; 
  311.       Qos  : in DDS.DomainParticipantQos) is abstract; 
  312.    --  <dref>DomainParticipant_set_qos</dref> 
  313.  
  314.  
  315.    procedure Set_Qos_With_Profile 
  316.      (Self          : not null access Ref; 
  317.       library_name  : in String; 
  318.       profile_name  : in String) is abstract; 
  319.    procedure Set_Qos_With_Profile 
  320.      (Self          : not null access Ref; 
  321.       library_name  : in Standard.String; 
  322.       profile_name  : in Standard.String) is abstract; 
  323.    --  <dref>DomainParticipant_set_qos_with_profile</dref> 
  324.  
  325.    procedure Get_Qos 
  326.      (Self : not null access Ref; 
  327.       Qos  : in out DDS.DomainParticipantQos) is abstract; 
  328.    --  <dref>DomainParticipant_get_qos</dref> 
  329.  
  330.    procedure Set_Listener 
  331.      (Self       : not null access Ref; 
  332.       A_Listener : DDS.DomainParticipantListener.Ref_Access; 
  333.       Mask       : in DDS.StatusMask) is abstract; 
  334.    --  <dref>DomainParticipant_set_listener</dref> 
  335.  
  336.    function Get_Listener 
  337.      (Self :  not null access Ref) 
  338.      return DDS.DomainParticipantListener.Ref_Access is abstract; 
  339.    --  <dref>DomainParticipant_get_listener</dref> 
  340.  
  341.    procedure Ignore_Participant 
  342.      (Self   : not null access Ref; 
  343.       Handle : in DDS.InstanceHandle_T) is abstract; 
  344.    --  <dref>DomainParticipant_ignore_participant</dref> 
  345.    --  <dref>Shared_ignore_participant</dref> 
  346.  
  347.    procedure Ignore_Topic 
  348.      (Self   : not null access Ref; 
  349.       Handle : in DDS.InstanceHandle_T) is abstract; 
  350.    --  <dref>DomainParticipant_ignore_topic</dref> 
  351.  
  352.    procedure Ignore_Publication 
  353.      (Self   : not null access Ref; 
  354.       Handle : in DDS.InstanceHandle_T) is abstract; 
  355.    --  <dref>DomainParticipant_ignore_publication</dref> 
  356.  
  357.    procedure Ignore_Subscription 
  358.      (Self   : not null access Ref; 
  359.       Handle : in DDS.InstanceHandle_T) is abstract; 
  360.    --  <dref>DomainParticipant_ignore_subscription</dref> 
  361.  
  362.    function Get_Domain_Id 
  363.      (Self : not null access Ref) 
  364.      return DDS.DomainId_T is abstract; 
  365.    --  <dref>DomainParticipant_get_domain_id</dref> 
  366.    --  <dref>Shared_domain_id_description</dref> 
  367.  
  368.    function Get_Factory 
  369.      (Self :  not null access Ref) 
  370.       return not null access DDS.DomainParticipantFactory.Ref is abstract; 
  371.  
  372.    procedure Assert_Liveliness 
  373.      (Self : not null access Ref) is abstract; 
  374.    --  <dref>DomainParticipant_assert_liveliness</dref> 
  375.    --  <dref>Shared_liveliness</dref> 
  376.  
  377.    procedure Set_Default_DataReader_Qos 
  378.      (Self : not null access Ref; 
  379.       Qos  : in DDS.DataReaderQoS) is abstract; 
  380.    --  <dref>DomainParticipant_set_default_datareader_qos</dref> 
  381.    --  <dref>Shared_set_default_datareader_qos</dref> 
  382.  
  383.    procedure Set_Default_DataReader_Qos_With_Profile 
  384.      (Self     : not null access Ref; 
  385.       libName  : DDS.String; 
  386.       profName : DDS.String) is abstract; 
  387.    procedure Set_Default_DataReader_Qos_With_Profile 
  388.      (Self     : not null access Ref; 
  389.       libName  : Standard.String; 
  390.       profName : Standard.String) is abstract; 
  391.    --  <dref>DomainParticipant_set_default_datareader_qos_with_profile</dref> 
  392.  
  393.    procedure Set_Default_DataWriter_Qos 
  394.      (Self : not null access Ref; 
  395.       Qos  : in DDS.DataWriterQoS) is abstract; 
  396.    --  <dref>DomainParticipant_set_default_datawriter_qos</dref> 
  397.    --  <dref>Shared_set_default_datawriter_qos</dref> 
  398.  
  399.    procedure Set_Default_DataWriter_Qos_With_Profile 
  400.      (Self     : not null access Ref; 
  401.       libName  : DDS.String; 
  402.       profName : DDS.String) is abstract; 
  403.    procedure Set_Default_DataWriter_Qos_With_Profile 
  404.      (Self     : not null access Ref; 
  405.       libName  : Standard.String; 
  406.       profName : Standard.String) is abstract; 
  407.    --  <dref>DomainParticipant_set_default_datawriter_qos_with_profile</dref> 
  408.  
  409.    procedure Set_Default_Publisher_Qos 
  410.      (Self : not null access Ref; 
  411.       Qos  : in DDS.PublisherQos) is abstract; 
  412.    --  <dref>DomainParticipant_set_default_publisher_qos</dref> 
  413.    --  <dref>Shared_set_default_publisher_qos</dref> 
  414.  
  415.    procedure Set_Default_Publisher_Qos_With_Profile 
  416.      (Self     : not null access Ref; 
  417.       libName  : DDS.String; 
  418.       profName : DDS.String) is abstract; 
  419.    procedure Set_Default_Publisher_Qos_With_Profile 
  420.      (Self     : not null access Ref; 
  421.       libName  : Standard.String; 
  422.       profName : Standard.String) is abstract; 
  423.    --  <dref>DomainParticipant_set_default_publisher_qos_with_profile</dref> 
  424.  
  425.    procedure Get_Default_Publisher_Qos 
  426.      (Self : not null access Ref; 
  427.       Qos  : in out DDS.PublisherQos) is abstract; 
  428.    --  <dref>DomainParticipant_get_default_publisher_qos</dref> 
  429.    --  <dref>Shared_get_default_publisher_qos_mtsafety</dref> 
  430.  
  431.    procedure Set_Default_Subscriber_Qos 
  432.      (Self : not null access Ref; 
  433.       Qos  : in DDS.SubscriberQos) is abstract; 
  434.    --  <dref>DomainParticipant_set_default_subscriber_qos</dref> 
  435.  
  436.    procedure Set_Default_Subscriber_Qos_With_Profile 
  437.      (Self : not null access Ref; 
  438.       libraryName : DDS.String; 
  439.       profileName : DDS.String) is abstract; 
  440.    procedure Set_Default_Subscriber_Qos_With_Profile 
  441.      (Self : not null access Ref; 
  442.       libraryName : Standard.String; 
  443.       profileName : Standard.String) is abstract; 
  444.    --  <dref>DomainParticipant_set_default_subscriber_qos_with_profile</dref> 
  445.  
  446.    procedure Get_Default_Subscriber_Qos 
  447.      (Self : not null access Ref; 
  448.       Qos  : in out DDS.SubscriberQos) is abstract; 
  449.    --  <dref>DomainParticipant_get_default_subscriber_qos</dref> 
  450.  
  451.    procedure Get_Default_DataReader_Qos 
  452.      (Self : not null access Ref; 
  453.       Qos  : in out DDS.DataReaderQoS) is abstract; 
  454.    --  <dref>DomainParticipant_get_default_datareader_qos</dref> 
  455.    --  <dref>Shared_get_default_datareader_qos_mtsafety</dref> 
  456.  
  457.    procedure Get_Default_DataWriter_Qos 
  458.      (Self : not null access Ref; 
  459.       Qos  : in out DDS.DataWriterQos) is abstract; 
  460.    --  <dref>DomainParticipant_get_default_datawriter_qos</dref> 
  461.    --  <dref>Shared_get_default_datawriter_qos_mtsafety</dref> 
  462.  
  463.    procedure Set_Default_Topic_Qos 
  464.      (Self : not null access Ref; 
  465.       Qos  : in DDS.TopicQos) is abstract; 
  466.    --  <dref>DomainParticipant_set_default_topic_qos</dref> 
  467.    --  <dref>Shared_set_default_topic_qos</dref> 
  468.  
  469.    procedure Set_Default_Topic_Qos_With_Profile 
  470.      (Self        : not null access Ref; 
  471.       libraryName : DDS.String; 
  472.       profileName : DDS.String) is abstract; 
  473.    procedure Set_Default_Topic_Qos_With_Profile 
  474.      (Self        : not null access Ref; 
  475.       libraryName : Standard.String; 
  476.       profileName : Standard.String) is abstract; 
  477.    --  <dref>DomainParticipant_set_default_topic_qos_with_profile</dref> 
  478.  
  479.    procedure Get_Default_Topic_Qos 
  480.      (Self : not null access Ref; 
  481.       Qos  : in out DDS.TopicQos) is abstract; 
  482.    --  <dref>DomainParticipant_get_default_topic_qos</dref> 
  483.    --  <dref>Shared_get_default_topic_qos_mtsafety</dref> 
  484.  
  485.    procedure Set_Default_Profile 
  486.      (Self          : not null access Ref; 
  487.       library_name  : DDS.String; 
  488.       profile_name  : DDS.String) is abstract; 
  489.    --  <dref>DomainParticipant_set_default_profile</dref> 
  490.  
  491.    procedure Set_Default_Library 
  492.      (Self          : not null access Ref; 
  493.       library_name   : DDS.String) is abstract; 
  494.    --  <dref>DomainParticipant_set_default_library</dref> 
  495.  
  496.    function Get_Default_Library 
  497.      (Self : not null access Ref) 
  498.       return DDS.String is abstract; 
  499.    --  <dref>DomainParticipant_get_default_library</dref> 
  500.  
  501.    function Get_Default_Profile 
  502.      (Self : not null access Ref) 
  503.       return DDS.String is abstract; 
  504.    --  <dref>DomainParticipant_get_default_profile</dref> 
  505.  
  506.    function Get_Default_Profile_Library 
  507.      (Self : not null access Ref) 
  508.       return DDS.String is abstract; 
  509.    --  <dref>DomainParticipant_get_default_profile_library</dref> 
  510.  
  511.    procedure Get_Default_Flowcontroller_Property 
  512.      (Self : not null access Ref; 
  513.       Property : in out DDS.FlowControllerProperty_T) is abstract; 
  514.    --  <dref>DomainParticipant_get_default_flowcontroller_property</dref> 
  515.  
  516.    procedure Set_Default_Flowcontroller_Property 
  517.      (Self : not null access Ref; 
  518.       Property : in DDS.FlowControllerProperty_T) is abstract; 
  519.    --  <dref>DomainParticipant_set_default_flowcontroller_property</dref> 
  520.  
  521.    function Get_Discovered_Participants 
  522.      (Self                :  access Ref) 
  523.      return DDS.InstanceHandle_Seq.Sequence is abstract; 
  524.    --  <dref>DomainParticipant_get_discovered_participants</dref> 
  525.  
  526.    function Get_Discovered_Participant_Data 
  527.      (Self : not null access Ref; 
  528.       Participant_Handle : in DDS.InstanceHandle_T) 
  529.      return DDS.ParticipantBuiltinTopicData is abstract; 
  530.    --  <dref>DomainParticipant_get_discovered_participant_data</dref> 
  531.  
  532.    function Get_Discovered_Topics 
  533.      (Self :  access Ref) 
  534.      return DDS.InstanceHandle_Seq.Sequence is abstract; 
  535.    --  <dref>DomainParticipant_get_discovered_topics</dref> 
  536.  
  537.    function Get_Discovered_Topic_Data 
  538.      (Self : not null access Ref; 
  539.       Topic_Handle : in DDS.InstanceHandle_T) 
  540.       return DDS.TopicBuiltinTopicData is abstract; 
  541.    --  <dref>DomainParticipant_get_discovered_topic_data</dref> 
  542.  
  543.    function Contains_Entity 
  544.      (Self : not null access Ref; 
  545.       A_Handle : in DDS.InstanceHandle_T) 
  546.      return Boolean is abstract; 
  547.    --  <dref>DomainParticipant_contains_entity</dref> 
  548.  
  549.    function Get_Current_Time 
  550.      (Self : not null access Ref) 
  551.       return DDS.Time_T is abstract; 
  552.    --  <dref>DomainParticipant_get_current_time</dref> 
  553.  
  554.    procedure Add_Peer 
  555.      (Self             : not null access Ref; 
  556.       peer_desc_string : DDS.String) is abstract; 
  557.    --  <dref>DomainParticipant_add_peer</dref> 
  558.    --  <dref>Shared_add_peer</dref> 
  559.  
  560.    procedure Get_Publishers 
  561.      (Self : not null access Ref; 
  562.       publishers : access DDS.PublisherSeq.Sequence) is abstract; 
  563.    --  <dref>DomainParticipant_get_publishers</dref> 
  564.  
  565.    procedure Get_Subscribers 
  566.      (Self        : not null access Ref; 
  567.       subscribers : access DDS.SubscriberSeq.Sequence) is abstract; 
  568.    --  <dref>DomainParticipant_get_publishers</dref> 
  569.  
  570. end DDS.DomainParticipant;