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. pragma Style_Checks ("NM32766"); 
  10.  
  11. limited with DDS.DomainParticipant; 
  12.  
  13. with DDS.PublisherListener; 
  14. with DDS.DataWriterListener; 
  15. with DDS.Topic; 
  16. with DDS.DataWriter; 
  17. with Dds.Domain_Entity; 
  18.  
  19. --  <module name="DDSPublicationModule" actualName="Publication Module">publication</module> 
  20. --  <dref>Publisher</dref> 
  21. package DDS.Publisher is 
  22.    pragma Elaborate_Body; 
  23.    DATAWRITER_QOS_DEFAULT : aliased  constant DataWriterQos with 
  24.      Convention => Ada, 
  25.      Import, 
  26.      Link_Name => "DDS__Publisher_DATAWRITER_QOS_DEFAULT"; 
  27.    --  <dref>DATAREADER_QOS_DEFAULT</dref> 
  28.  
  29.    DATAWRITER_QOS_USE_TOPIC_QOS :  aliased  constant DataWriterQos with 
  30.      Convention => Ada, 
  31.      Import, 
  32.      Link_Name => "DDS__Publisher_DATAWRITER_QOS_USE_TOPIC_QOS"; 
  33.    --  <dref>DATAREADER_QOS_USE_TOPIC_QOS</dref> 
  34.  
  35.  
  36.    type Ref is limited Interface and DDS.Domain_Entity.Ref; 
  37.    type Ref_Access is access all Ref'Class; 
  38.  
  39.    type Ref_Access_Access is access all Ref_Access; 
  40.    type Ref_Access_Array is array (Natural range <>) of aliased Ref_Access; 
  41.    procedure Initialize 
  42.      (Self : in out Ref_Access) is null; 
  43.    procedure Finalize 
  44.      (Self : in out Ref_Access) is null; 
  45.    procedure Copy 
  46.      (Dst : in out Ref_Access; 
  47.       Src : in Ref_Access); 
  48.  
  49.  
  50.    function Create_DataWriter 
  51.      (Self       : not null access Ref; 
  52.       A_Topic    : in DDS.Topic.Ref_Access; 
  53.       Qos        : in DDS.DataWriterQos := DATAWRITER_QOS_DEFAULT; 
  54.       A_Listener : in DDS.DataWriterListener.Ref_Access := null; 
  55.       Mask       : in DDS.StatusMask := STATUS_MASK_NONE) 
  56.       return DDS.DataWriter.Ref_Access is abstract; 
  57.    --  <dref>Publisher_create_datawriter</dref> 
  58.  
  59.    function Create_DataWriter_With_Profile 
  60.      (Self         : not null access Ref; 
  61.       A_Topic      : in DDS.Topic.Ref_Access; 
  62.       Library_Name : in DDS.String; 
  63.       profile_name : in DDS.String; 
  64.       A_Listener   : in DDS.DataWriterListener.Ref_Access := null; 
  65.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  66.       return DDS.DataWriter.Ref_Access is abstract; 
  67.    function Create_DataWriter_With_Profile 
  68.      (Self         : not null access Ref; 
  69.       A_Topic      : in DDS.Topic.Ref_Access; 
  70.       Library_Name : in Standard.String; 
  71.       profile_name : in Standard.String; 
  72.       A_Listener   : in DDS.DataWriterListener.Ref_Access := null; 
  73.       Mask         : in DDS.StatusMask := STATUS_MASK_NONE) 
  74.       return DDS.DataWriter.Ref_Access is abstract; 
  75.    --  <dref>Publisher_create_datawriter_with_profile</dref> 
  76.  
  77.  
  78.    procedure Delete_DataWriter 
  79.      (Self         : not null access Ref; 
  80.       A_DataWriter : in out DDS.DataWriter.Ref_Access) is abstract; 
  81.    --  <dref>Publisher_delete_datawriter</dref> 
  82.  
  83.    function Lookup_DataWriter 
  84.      (Self       : not null access Ref; 
  85.       Topic_Name : in DDS.String_Ptr) 
  86.      return DDS.DataWriter.Ref_Access is abstract; 
  87.    --  <dref>Publisher_lookup_datawriter</dref> 
  88.    --  <dref>Shared_Publisher_lookup_datawriter</dref> 
  89.  
  90.    procedure Delete_Contained_Entities 
  91.      (Self : not null access Ref) is abstract; 
  92.    --  <dref>Publisher_delete_contained_entities</dref> 
  93.  
  94.    procedure Set_Qos 
  95.      (Self : not null access Ref; 
  96.       Qos  : in DDS.PublisherQos) is abstract; 
  97.    --  <dref>Publisher_set_qos</dref> 
  98.  
  99.    procedure Set_Qos_With_Profile 
  100.      (Self          : not null access Ref; 
  101.       library_name  : in String; 
  102.       profile_name  : in String) is abstract; 
  103.    --  <dref>Publisher_set_qos_with_profile</dref> 
  104.  
  105.    procedure Get_Qos 
  106.      (Self : not null access Ref; 
  107.       Qos  : in out DDS.PublisherQos) is abstract; 
  108.    --  <dref>Publisher_get_qos</dref> 
  109.  
  110.    procedure Set_Listener 
  111.      (Self       : not null access Ref; 
  112.       A_Listener : in DDS.PublisherListener.Ref_Access; 
  113.       Mask       : in DDS.StatusMask) is abstract; 
  114.    --  <dref>Publisher_set_listener</dref> 
  115.  
  116.    function Get_Listener 
  117.      (Self : not null access Ref) 
  118.       return DDS.PublisherListener.Ref_Access is abstract; 
  119.    --  <dref>Publisher_get_listener</dref> 
  120.  
  121.    procedure Suspend_Publications 
  122.      (Self : not null access Ref) is abstract; 
  123.    --  <dref>Publisher_suspend_publications</dref> 
  124.  
  125.    procedure Resume_Publications 
  126.      (Self : not null access Ref) is abstract; 
  127.    --  <dref>Publisher_resume_publications</dref> 
  128.  
  129.    procedure Begin_Coherent_Changes 
  130.      (Self : not null access Ref) is abstract; 
  131.    --  <dref>Publisher_begin_coherent_changes</dref> 
  132.  
  133.    procedure End_Coherent_Changes 
  134.      (Self : not null access Ref) is abstract; 
  135.    --  <dref>Publisher_end_coherent_changes</dref> 
  136.  
  137.    procedure Wait_For_Acknowledgments 
  138.      (Self     : not null access Ref; 
  139.       Max_Wait : in DDS.Duration_T) is abstract; 
  140.    --  <dref>Publisher_wait_for_acknowledgments</dref> 
  141.  
  142.    procedure Wait_For_Asynchronous_Publishing 
  143.      (Self     : not null  access Ref; 
  144.       Max_Wait : in DDS.Duration_T) is abstract; 
  145.    --  <dref>Publisher_wait_for_asynchronous_publishing</dref> 
  146.  
  147.    function Get_Participant 
  148.      (Self : not null access Ref) 
  149.       return access DDS.DomainParticipant.Ref'Class is abstract; 
  150.    --  <dref>Publisher_get_participant</dref> 
  151.  
  152.    procedure Set_Default_DataWriter_Qos 
  153.      (Self : not null access Ref; 
  154.       Qos  : in DDS.DataWriterQos) is abstract; 
  155.    --  <dref>Publisher_set_default_datawriter_qos</dref> 
  156.  
  157.    procedure Set_Default_DataWriter_Qos_With_Profile 
  158.      (Self     : not null access Ref; 
  159.       libName  : DDS.String; 
  160.       profName : DDS.String) is abstract; 
  161.    procedure Set_Default_DataWriter_Qos_With_Profile 
  162.      (Self     : not null access Ref; 
  163.       libName  : Standard.String; 
  164.       profName : Standard.String) is abstract; 
  165.    --  <dref>Publisher_set_default_datawriter_qos_with_profile</dref> 
  166.  
  167.    procedure Get_Default_DataWriter_Qos 
  168.      (Self : not null access Ref; 
  169.       Qos  : in out DDS.DataWriterQos) is abstract; 
  170.    --  <dref>Publisher_get_default_datawriter_qos</dref> 
  171.  
  172.    procedure Copy_From_Topic_Qos 
  173.      (Self               : not null access Ref; 
  174.       A_DataWriter_Qos   : in out DDS.DataWriterQos; 
  175.       A_Topic_Qos        : in DDS.TopicQos) is abstract; 
  176.    --  <dref>Publisher_copy_from_topic_qos</dref> 
  177.  
  178.    procedure Set_Default_Profile 
  179.      (Self          : not null access Ref; 
  180.       library_name  : DDS.String; 
  181.       profile_name  : DDS.String) is abstract; 
  182.    --  <dref>Publisher_set_default_profile</dref> 
  183.  
  184.    procedure Set_Default_Library 
  185.      (Self          : not null access Ref; 
  186.       library_name   : DDS.String) is abstract; 
  187.    --  <dref>Publisher_set_default_library</dref> 
  188.  
  189.    function Get_Default_Library 
  190.      (Self : not null access Ref) 
  191.       return DDS.String is abstract; 
  192.    --  <dref>Publisher_get_default_library</dref> 
  193.  
  194.    function Get_Default_Profile 
  195.      (Self : not null access Ref) 
  196.       return DDS.String is abstract; 
  197.    --  <dref>Publisher_get_default_profile</dref> 
  198.  
  199.    function Get_Default_Profile_Library 
  200.      (Self : not null access Ref) 
  201.       return DDS.String is abstract; 
  202.    --  <dref>Publisher_get_default_profile_library</dref> 
  203.  
  204. end DDS.Publisher;