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. with DDS; 
  11. with DDS.DomainParticipant; 
  12. with DDS.TypeSupport; 
  13. with DDS.MetpTypeSupport_None; 
  14. with DDS.DataReader; 
  15. with DDS.DataWriter; 
  16. with DDS.Treats_Generic; 
  17. --  <module name="DDSBuiltInTypesModule" actualName="Built-in Types">builtintypes</module> 
  18. --  <defgroup>StringBuiltInTypeGroupDocs</defgroup> 
  19. --  <dref>StringTypeSupport</dref> 
  20. package DDS.Builtin_String_TypeSupport is 
  21.  
  22.    type Ref is new Standard.DDS.TypeSupport.Ref with null record; 
  23.    type Ref_Access is access all Ref'Class; 
  24.  
  25.    function Create_TypedDataReaderI 
  26.      (Self : access Ref) return Standard.DDS.DataReader.Ref_Access; 
  27.  
  28.    procedure Destroy_TypedDataReaderI 
  29.      (Self   : access Ref; 
  30.       Reader : in out Standard.DDS.DataReader.Ref_Access); 
  31.  
  32.    function Create_TypedDataWriterI 
  33.      (Self : access Ref) return Standard.DDS.DataWriter.Ref_Access; 
  34.  
  35.    procedure Destroy_TypedDataWriterI 
  36.      (Self   : access Ref; 
  37.       Writer : in out Standard.DDS.DataWriter.Ref_Access) is null; 
  38.  
  39.    --  <internal> 
  40.    --  static methods 
  41.    --  </internal> 
  42.  
  43.    procedure Register_Type 
  44.      (Participant : not null access Standard.DDS.DomainParticipant.Ref'Class; 
  45.       Type_Name   : in Standard.DDS.String); 
  46.    --  <dref>StringTypeSupport_register_type</dref> 
  47.  
  48.    procedure Unregister_Type 
  49.      (Participant : not null access Standard.DDS.DomainParticipant.Ref'Class; 
  50.       Type_Name   : in Standard.DDS.String); 
  51.    --  <dref>StringTypeSupport_unregister_type</dref> 
  52.  
  53.    function Get_Type_Name return Standard.DDS.String; 
  54.    --  <dref>StringTypeSupport_get_type_name</dref> 
  55.  
  56.    function Create_Data (AllocatePointers : in Boolean := True) 
  57.                          return DDS.String; 
  58.  
  59.    procedure Delete_Data 
  60.      (A_Data : in out DDS.String; DeletePointers : in Boolean := True); 
  61.  
  62.    procedure Print_Data (A_Data : DDS.String); 
  63.    --  <dref>StringTypeSupport_print_data</dref> 
  64.  
  65.    procedure Copy_Data (Desc : DDS.String; Source : DDS.String); 
  66.  
  67.    procedure Initialize_Data (A_Data : DDS.String); 
  68.  
  69.    procedure Finalize_Data (A_Data : DDS.String); 
  70.  
  71.    function Create_Data_W_Size 
  72.      (Size : Integer) 
  73.       return DDS.String; 
  74.  
  75.    procedure Initialize_Data_W_Size 
  76.      (A_Data : DDS.String; 
  77.       Size   : Integer); 
  78.  
  79.  
  80.    package Treats is new 
  81.      DDS.Treats_Generic (Data_Type        => DDS.String, 
  82.                          Data_Type_Access => DDS.String_Ptr, 
  83.                          Index_Type       => Natural, 
  84.                          First_Element    => 1, 
  85.                          Data_Array       => DDS.String_Array, 
  86.                          Initialize       => Initialize, 
  87.                          Finalize         => Finalize, 
  88.                          Copy             => Copy, 
  89.                          Data_Sequences   => DDS.String_Seq, 
  90.                          Get_Type_Name    => DDS.Builtin_String_TypeSupport.Get_Type_Name, 
  91.                          TypeSupport      => Ref, 
  92.                          MetpTypeSupport  => DDS.MetpTypeSupport_None.Ref); 
  93.    procedure Get_Type_Name (Name : out Standard.DDS.String); 
  94.  
  95.  
  96. end DDS.Builtin_String_TypeSupport;