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