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; 
  10. with DDS.DomainParticipant; 
  11. with DDS.TypeSupport; 
  12. with DDS.MetpTypeSupport; 
  13. with DDS.DataReader; 
  14. with DDS.DataWriter; 
  15. with DDS.Treats_Generic; 
  16. --  <defgroup>KeyedOctetsBuiltInTypeGroupDocs</defgroup> 
  17. --  <dref>KeyedOctetsTypeSupport</dref> 
  18. package DDS.Builtin_KeyedOctets_TypeSupport is 
  19.    pragma Suppress (elaboration_Check); 
  20.    type Ref is new Standard.DDS.TypeSupport.Ref with null record; 
  21.    type Ref_Access is access all Ref'Class; 
  22.  
  23.    function Create_TypedDataReaderI 
  24.      (Self : access Ref) return Standard.DDS.DataReader.Ref_Access; 
  25.  
  26.    procedure Destroy_TypedDataReaderI 
  27.      (Self   : access Ref; 
  28.       Reader : in out Standard.DDS.DataReader.Ref_Access); 
  29.  
  30.    function Create_TypedDataWriterI 
  31.      (Self : access Ref) return Standard.DDS.DataWriter.Ref_Access; 
  32.  
  33.    procedure Destroy_TypedDataWriterI 
  34.      (Self   : access Ref; 
  35.       Writer : in out Standard.DDS.DataWriter.Ref_Access) is null; 
  36.  
  37.    --  <internal> 
  38.    --  static methods 
  39.    --  </internal> 
  40.  
  41.    procedure Register_Type 
  42.      (Participant : not null access Standard.DDS.DomainParticipant.Ref'Class; 
  43.       Type_Name   : in Standard.DDS.String); 
  44.    --  <dref>KeyedOctetsTypeSupport_register_type</dref> 
  45.  
  46.    procedure Unregister_Type 
  47.      (Participant : not null access Standard.DDS.DomainParticipant.Ref'Class; 
  48.       Type_Name   : in Standard.DDS.String); 
  49.    --  <dref>KeyedOctetsTypeSupport_unregister_type</dref> 
  50.  
  51.    function Get_Type_Name return Standard.DDS.String; 
  52.    --  <dref>KeyedOctetsTypeSupport_get_type_name</dref> 
  53.  
  54.    procedure Get_Type_Name (Name : out Standard.DDS.String); 
  55.  
  56.    procedure Print_Data (A_Data : access DDS.KeyedOctets); 
  57.    --  <dref>KeyedOctetsTypeSupport_print_data</dref> 
  58.  
  59.    function Create_Data_W_Size 
  60.      (Key_Size : Integer; 
  61.       Size     : Integer) 
  62.       return DDS.KeyedOctets; 
  63.  
  64.    procedure Initialize_Data_W_Size 
  65.      (A_Data   : access DDS.KeyedOctets; 
  66.       Key_Size : Integer; 
  67.       Size     : Integer); 
  68.  
  69.    function From_KeyedOctets_To_Octet_Array 
  70.      (Octets : DDS.KeyedOctets) 
  71.       return DDS.Octet_Array; 
  72.  
  73.    function Get_Octet 
  74.      (Octets : DDS.KeyedOctets; 
  75.       Index  : Integer) 
  76.       return Interfaces.Unsigned_8; 
  77.  
  78.  
  79.    package Treats is new 
  80.      DDS.Treats_Generic (Data_Type        => DDS.KeyedOctets, 
  81.                          Data_Type_Access => DDS.KeyedOctets_Ptr, 
  82.                          Index_Type       => Natural, 
  83.                          First_Element    => 1, 
  84.                          Data_Array       => DDS.KeyedOctets_Array, 
  85.                          Initialize       => Initialize, 
  86.                          Finalize         => Finalize, 
  87.                          Copy             => Copy, 
  88.                          Data_Sequences   => DDS.KeyedOctets_Seq, 
  89.                          Get_Type_Name    => Get_Type_Name, 
  90.                          TypeSupport      => Ref, 
  91.                          MetpTypeSupport  => DDS.MetpTypeSupport.Unsupported); 
  92.  
  93. end DDS.Builtin_KeyedOctets_TypeSupport;