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