1. pragma Ada_2012; 
  2. --  (c) Copyright, Real-Time Innovations, $Date:: 2012-02-16 #$ 
  3. --  All rights reserved. 
  4. -- 
  5. --  No duplications, whole or partial, manual or electronic, may be made 
  6. --  without express written permission.  Any such copies, or 
  7. --  revisions thereof, must display this notice unaltered. 
  8. --  This code contains trade secrets of Real-Time Innovations, Inc. 
  9.  
  10. pragma Ada_2012; 
  11.  
  12. with DDS.StatusCondition; 
  13. with DDS.DomainParticipantListener; 
  14. with DDS.TopicListener; 
  15. with DDS.SubscriberListener; 
  16. with DDS.PublisherListener; 
  17. with DDS.PublisherSeq; 
  18. with DDS.Publisher; 
  19. with DDS.Topic; 
  20. with DDS.Entity; 
  21. with DDS.TopicDescription; 
  22. with DDS.Subscriber; 
  23. with DDS.SubscriberSeq; 
  24. with DDS.ContentFilteredTopic; 
  25. with DDS.MultiTopic; 
  26. limited with DDS.DomainParticipantFactory; 
  27. --  limited with DDS.FlowController; 
  28. with DDS.DataWriter; 
  29. with DDS.DataWriterListener; 
  30. with DDS.DataReader; 
  31. with DDS.DataReaderListener; 
  32. --  <dref>DomainParticipant</dref> 
  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  Get_Or_Create_Topic 
  250.      (Self       : not null access Ref; 
  251.       Topic_Name : in DDS.String; 
  252.       Type_Name  : in DDS.String; 
  253.       Qos        : in DDS.TopicQos := DDS.DomainParticipant.TOPIC_QOS_DEFAULT; 
  254.       A_Listener : in DDS.TopicListener.Ref_Access := null; 
  255.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) return  DDS.Topic.Ref_Access is abstract; 
  256.  
  257.    function  Get_Or_Create_Topic_With_Profile 
  258.      (Self         : not null access Ref; 
  259.       Topic_Name   : in DDS.String; 
  260.       Type_Name    : in DDS.String; 
  261.       Library_Name : in DDS.String; 
  262.       Profile_Name : in DDS.String; 
  263.       A_Listener   : in DDS.TopicListener.Ref_Access := null; 
  264.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Topic.Ref_Access  is abstract; 
  265. --     function Create_FlowController 
  266. --       (Self         : not null access Ref; 
  267. --        name         : DDS.String; 
  268. --        prop         : access DDS.FlowControllerProperty_T) 
  269. --        return access DDS.FlowController.Ref'Class is abstract; 
  270.  
  271.    procedure Delete_Topic 
  272.      (Self    : not null access Ref; 
  273.       A_Topic : in out DDS.Topic.Ref_Access) is abstract; 
  274.    --  <dref>DomainParticipant_delete_topic</dref> 
  275.  
  276.  
  277.    function Find_Topic 
  278.      (Self       : not null access Ref; 
  279.       Topic_Name : in DDS.String; 
  280.       Timeout    : in DDS.Duration_T) 
  281.      return DDS.Topic.Ref_Access is abstract; 
  282.    --  <dref>DomainParticipant_find_topic</dref> 
  283.  
  284.    function Lookup_Entity 
  285.      (Self : not null access Ref; 
  286.       Key  : in Dds.BuiltinTopicKey_T) 
  287.       return DDS.Entity.Ref_Access is abstract; 
  288.  
  289.    function Lookup_Topicdescription 
  290.      (Self : not null access Ref; 
  291.       Name : in DDS.String) 
  292.      return DDS.TopicDescription.Ref_Access is abstract; 
  293.    --  <dref>DomainParticipant_lookup_topicdescription</dref> 
  294.  
  295.  
  296.    function Create_Contentfilteredtopic 
  297.      (Self                  : not null access Ref; 
  298.       Name                  : in DDS.String; 
  299.       Related_Topic         : in DDS.Topic.Ref_Access; 
  300.       Filter_Expression     : in DDS.String; 
  301.       Expression_Parameters : access DDS.String_Seq.Sequence) 
  302.      return DDS.ContentFilteredTopic.Ref_Access is abstract; 
  303.    --  <dref>DomainParticipant_create_contentfilteredtopic</dref> 
  304.  
  305.    procedure Delete_Contentfilteredtopic 
  306.      (Self                   : not null access Ref; 
  307.       A_Contentfilteredtopic : in out DDS.ContentFilteredTopic.Ref_Access) is abstract; 
  308.    --  <dref>DomainParticipant_delete_contentfilteredtopic</dref> 
  309.  
  310.    function Create_Correlation_Contentfilteredtopic 
  311.      (Participant      : not null access Ref; 
  312.       Topic            : not null DDS.Topic.Ref_Access; 
  313.       Correlation_Guid : DDS.Guid_T) 
  314.       return DDS.ContentFilteredTopic.Ref_Access is abstract; 
  315.  
  316.    function Create_MultiTopic 
  317.      (Self                    : not null access Ref; 
  318.       Name                    : in DDS.String; 
  319.       Type_Name               : in DDS.String; 
  320.       Subscription_Expression : in DDS.String; 
  321.       Expression_Parameters   : access DDS.String_Seq.Sequence) 
  322.       return DDS.MultiTopic.Ref_Access is abstract; 
  323.    --  <dref>DomainParticipant_create_multitopic</dref> 
  324.  
  325.    procedure Delete_MultiTopic 
  326.      (Self     : not null access Ref; 
  327.       MTopic  : in out DDS.MultiTopic.Ref_Access) is abstract; 
  328.    --  <dref>DomainParticipant_delete_multitopic</dref> 
  329.  
  330.    procedure Delete_Contained_Entities 
  331.      (Self :  not null access Ref) is abstract; 
  332.    --  <dref>DomainParticipant_delete_contained_entities</dref> 
  333.  
  334.  
  335.    procedure Set_Qos 
  336.      (Self : not null access Ref; 
  337.       Qos  : in DDS.DomainParticipantQos) is abstract; 
  338.    --  <dref>DomainParticipant_set_qos</dref> 
  339.  
  340.  
  341.    procedure Set_Qos_With_Profile 
  342.      (Self          : not null access Ref; 
  343.       library_name  : in String; 
  344.       profile_name  : in String) is abstract; 
  345.    procedure Set_Qos_With_Profile 
  346.      (Self          : not null access Ref; 
  347.       library_name  : in Standard.String; 
  348.       profile_name  : in Standard.String) is abstract; 
  349.    --  <dref>DomainParticipant_set_qos_with_profile</dref> 
  350.  
  351.    procedure Get_Qos 
  352.      (Self : not null access Ref; 
  353.       Qos  : in out DDS.DomainParticipantQos) is abstract; 
  354.    --  <dref>DomainParticipant_get_qos</dref> 
  355.  
  356.    procedure Set_Listener 
  357.      (Self       : not null access Ref; 
  358.       A_Listener : DDS.DomainParticipantListener.Ref_Access; 
  359.       Mask       : in DDS.StatusMask) is abstract; 
  360.    --  <dref>DomainParticipant_set_listener</dref> 
  361.  
  362.    function Get_Listener 
  363.      (Self :  not null access Ref) 
  364.      return DDS.DomainParticipantListener.Ref_Access is abstract; 
  365.    --  <dref>DomainParticipant_get_listener</dref> 
  366.  
  367.    procedure Ignore_Participant 
  368.      (Self   : not null access Ref; 
  369.       Handle : in DDS.InstanceHandle_T) is abstract; 
  370.    --  <dref>DomainParticipant_ignore_participant</dref> 
  371.    --  <dref>Shared_ignore_participant</dref> 
  372.  
  373.    procedure Ignore_Topic 
  374.      (Self   : not null access Ref; 
  375.       Handle : in DDS.InstanceHandle_T) is abstract; 
  376.    --  <dref>DomainParticipant_ignore_topic</dref> 
  377.  
  378.    procedure Ignore_Publication 
  379.      (Self   : not null access Ref; 
  380.       Handle : in DDS.InstanceHandle_T) is abstract; 
  381.    --  <dref>DomainParticipant_ignore_publication</dref> 
  382.  
  383.    procedure Ignore_Subscription 
  384.      (Self   : not null access Ref; 
  385.       Handle : in DDS.InstanceHandle_T) is abstract; 
  386.    --  <dref>DomainParticipant_ignore_subscription</dref> 
  387.  
  388.    function Get_Domain_Id 
  389.      (Self : not null access Ref) 
  390.      return DDS.DomainId_T is abstract; 
  391.    --  <dref>DomainParticipant_get_domain_id</dref> 
  392.    --  <dref>Shared_domain_id_description</dref> 
  393.  
  394.    function Get_Factory 
  395.      (Self :  not null access Ref) 
  396.       return not null access DDS.DomainParticipantFactory.Ref is abstract; 
  397.  
  398.    procedure Assert_Liveliness 
  399.      (Self : not null access Ref) is abstract; 
  400.    --  <dref>DomainParticipant_assert_liveliness</dref> 
  401.    --  <dref>Shared_liveliness</dref> 
  402.  
  403.    procedure Set_Default_DataReader_Qos 
  404.      (Self : not null access Ref; 
  405.       Qos  : in DDS.DataReaderQoS) is abstract; 
  406.    --  <dref>DomainParticipant_set_default_datareader_qos</dref> 
  407.    --  <dref>Shared_set_default_datareader_qos</dref> 
  408.  
  409.    procedure Set_Default_DataReader_Qos_With_Profile 
  410.      (Self     : not null access Ref; 
  411.       libName  : DDS.String; 
  412.       profName : DDS.String) is abstract; 
  413.    procedure Set_Default_DataReader_Qos_With_Profile 
  414.      (Self     : not null access Ref; 
  415.       libName  : Standard.String; 
  416.       profName : Standard.String) is abstract; 
  417.    --  <dref>DomainParticipant_set_default_datareader_qos_with_profile</dref> 
  418.  
  419.    procedure Set_Default_DataWriter_Qos 
  420.      (Self : not null access Ref; 
  421.       Qos  : in DDS.DataWriterQoS) is abstract; 
  422.    --  <dref>DomainParticipant_set_default_datawriter_qos</dref> 
  423.    --  <dref>Shared_set_default_datawriter_qos</dref> 
  424.  
  425.    procedure Set_Default_DataWriter_Qos_With_Profile 
  426.      (Self     : not null access Ref; 
  427.       libName  : DDS.String; 
  428.       profName : DDS.String) is abstract; 
  429.    procedure Set_Default_DataWriter_Qos_With_Profile 
  430.      (Self     : not null access Ref; 
  431.       libName  : Standard.String; 
  432.       profName : Standard.String) is abstract; 
  433.    --  <dref>DomainParticipant_set_default_datawriter_qos_with_profile</dref> 
  434.  
  435.    procedure Set_Default_Publisher_Qos 
  436.      (Self : not null access Ref; 
  437.       Qos  : in DDS.PublisherQos) is abstract; 
  438.    --  <dref>DomainParticipant_set_default_publisher_qos</dref> 
  439.    --  <dref>Shared_set_default_publisher_qos</dref> 
  440.  
  441.    procedure Set_Default_Publisher_Qos_With_Profile 
  442.      (Self     : not null access Ref; 
  443.       libName  : DDS.String; 
  444.       profName : DDS.String) is abstract; 
  445.    procedure Set_Default_Publisher_Qos_With_Profile 
  446.      (Self     : not null access Ref; 
  447.       libName  : Standard.String; 
  448.       profName : Standard.String) is abstract; 
  449.    --  <dref>DomainParticipant_set_default_publisher_qos_with_profile</dref> 
  450.  
  451.    procedure Get_Default_Publisher_Qos 
  452.      (Self : not null access Ref; 
  453.       Qos  : in out DDS.PublisherQos) is abstract; 
  454.    --  <dref>DomainParticipant_get_default_publisher_qos</dref> 
  455.    --  <dref>Shared_get_default_publisher_qos_mtsafety</dref> 
  456.  
  457.    procedure Set_Default_Subscriber_Qos 
  458.      (Self : not null access Ref; 
  459.       Qos  : in DDS.SubscriberQos) is abstract; 
  460.    --  <dref>DomainParticipant_set_default_subscriber_qos</dref> 
  461.  
  462.    procedure Set_Default_Subscriber_Qos_With_Profile 
  463.      (Self : not null access Ref; 
  464.       libraryName : DDS.String; 
  465.       profileName : DDS.String) is abstract; 
  466.    procedure Set_Default_Subscriber_Qos_With_Profile 
  467.      (Self : not null access Ref; 
  468.       libraryName : Standard.String; 
  469.       profileName : Standard.String) is abstract; 
  470.    --  <dref>DomainParticipant_set_default_subscriber_qos_with_profile</dref> 
  471.  
  472.    procedure Get_Default_Subscriber_Qos 
  473.      (Self : not null access Ref; 
  474.       Qos  : in out DDS.SubscriberQos) is abstract; 
  475.    --  <dref>DomainParticipant_get_default_subscriber_qos</dref> 
  476.  
  477.    procedure Get_Default_DataReader_Qos 
  478.      (Self : not null access Ref; 
  479.       Qos  : in out DDS.DataReaderQoS) is abstract; 
  480.    --  <dref>DomainParticipant_get_default_datareader_qos</dref> 
  481.    --  <dref>Shared_get_default_datareader_qos_mtsafety</dref> 
  482.  
  483.    procedure Get_Default_DataWriter_Qos 
  484.      (Self : not null access Ref; 
  485.       Qos  : in out DDS.DataWriterQos) is abstract; 
  486.    --  <dref>DomainParticipant_get_default_datawriter_qos</dref> 
  487.    --  <dref>Shared_get_default_datawriter_qos_mtsafety</dref> 
  488.  
  489.    procedure Set_Default_Topic_Qos 
  490.      (Self : not null access Ref; 
  491.       Qos  : in DDS.TopicQos) is abstract; 
  492.    --  <dref>DomainParticipant_set_default_topic_qos</dref> 
  493.    --  <dref>Shared_set_default_topic_qos</dref> 
  494.  
  495.    procedure Set_Default_Topic_Qos_With_Profile 
  496.      (Self        : not null access Ref; 
  497.       libraryName : DDS.String; 
  498.       profileName : DDS.String) is abstract; 
  499.    procedure Set_Default_Topic_Qos_With_Profile 
  500.      (Self        : not null access Ref; 
  501.       libraryName : Standard.String; 
  502.       profileName : Standard.String) is abstract; 
  503.    --  <dref>DomainParticipant_set_default_topic_qos_with_profile</dref> 
  504.  
  505.    procedure Get_Default_Topic_Qos 
  506.      (Self : not null access Ref; 
  507.       Qos  : in out DDS.TopicQos) is abstract; 
  508.    --  <dref>DomainParticipant_get_default_topic_qos</dref> 
  509.    --  <dref>Shared_get_default_topic_qos_mtsafety</dref> 
  510.  
  511.    procedure Set_Default_Profile 
  512.      (Self          : not null access Ref; 
  513.       library_name  : DDS.String; 
  514.       profile_name  : DDS.String) is abstract; 
  515.    --  <dref>DomainParticipant_set_default_profile</dref> 
  516.  
  517.    procedure Set_Default_Library 
  518.      (Self          : not null access Ref; 
  519.       library_name   : DDS.String) is abstract; 
  520.    --  <dref>DomainParticipant_set_default_library</dref> 
  521.  
  522.    function Get_Default_Library 
  523.      (Self : not null access Ref) 
  524.       return DDS.String is abstract; 
  525.    --  <dref>DomainParticipant_get_default_library</dref> 
  526.  
  527.    function Get_Default_Profile 
  528.      (Self : not null access Ref) 
  529.       return DDS.String is abstract; 
  530.    --  <dref>DomainParticipant_get_default_profile</dref> 
  531.  
  532.    function Get_Default_Profile_Library 
  533.      (Self : not null access Ref) 
  534.       return DDS.String is abstract; 
  535.    --  <dref>DomainParticipant_get_default_profile_library</dref> 
  536.  
  537.    procedure Get_Default_Flowcontroller_Property 
  538.      (Self : not null access Ref; 
  539.       Property : in out DDS.FlowControllerProperty_T) is abstract; 
  540.    --  <dref>DomainParticipant_get_default_flowcontroller_property</dref> 
  541.  
  542.    procedure Set_Default_Flowcontroller_Property 
  543.      (Self : not null access Ref; 
  544.       Property : in DDS.FlowControllerProperty_T) is abstract; 
  545.    --  <dref>DomainParticipant_set_default_flowcontroller_property</dref> 
  546.  
  547.    function Get_Discovered_Participants 
  548.      (Self                :  access Ref) 
  549.      return DDS.InstanceHandle_Seq.Sequence is abstract; 
  550.    --  <dref>DomainParticipant_get_discovered_participants</dref> 
  551.  
  552.    function Get_Discovered_Participant_Data 
  553.      (Self : not null access Ref; 
  554.       Participant_Handle : in DDS.InstanceHandle_T) 
  555.      return DDS.ParticipantBuiltinTopicData is abstract; 
  556.    --  <dref>DomainParticipant_get_discovered_participant_data</dref> 
  557.  
  558.    function Get_Discovered_Topics 
  559.      (Self :  access Ref) 
  560.      return DDS.InstanceHandle_Seq.Sequence is abstract; 
  561.    --  <dref>DomainParticipant_get_discovered_topics</dref> 
  562.  
  563.    function Get_Discovered_Topic_Data 
  564.      (Self : not null access Ref; 
  565.       Topic_Handle : in DDS.InstanceHandle_T) 
  566.       return DDS.TopicBuiltinTopicData is abstract; 
  567.    --  <dref>DomainParticipant_get_discovered_topic_data</dref> 
  568.  
  569.    function Contains_Entity 
  570.      (Self : not null access Ref; 
  571.       A_Handle : in DDS.InstanceHandle_T) 
  572.      return Boolean is abstract; 
  573.    --  <dref>DomainParticipant_contains_entity</dref> 
  574.  
  575.    function Get_Current_Time 
  576.      (Self : not null access Ref) 
  577.       return DDS.Time_T is abstract; 
  578.    --  <dref>DomainParticipant_get_current_time</dref> 
  579.  
  580.    procedure Add_Peer 
  581.      (Self             : not null access Ref; 
  582.       peer_desc_string : DDS.String) is abstract; 
  583.    --  <dref>DomainParticipant_add_peer</dref> 
  584.    --  <dref>Shared_add_peer</dref> 
  585.  
  586.    procedure Get_Publishers 
  587.      (Self : not null access Ref; 
  588.       publishers : access DDS.PublisherSeq.Sequence) is abstract; 
  589.    --  <dref>DomainParticipant_get_publishers</dref> 
  590.  
  591.    procedure Get_Subscribers 
  592.      (Self        : not null access Ref; 
  593.       subscribers : access DDS.SubscriberSeq.Sequence) is abstract; 
  594.    --  <dref>DomainParticipant_get_publishers</dref> 
  595.  
  596.  
  597.    --  Implementation 
  598.  
  599. end DDS.DomainParticipant;