1. --  (c) Copyright, Real-Time Innovations, $Date:: 2012-03-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.DataReader; 
  10. with DDS.DataReader_Impl; 
  11. with DDS.ReadCondition; 
  12.  
  13. with DDS; use DDS; 
  14.  
  15. --  <dref>OctetsDataReader</dref> 
  16. package DDS.Builtin_Octets_DataReader is 
  17.  
  18.    type Ref is new Standard.DDS.DataReader_Impl.Ref with null record; 
  19.    type Ref_Access is access all Ref'Class; 
  20.    type Ref_Access_Access is access all Ref_Access; 
  21.  
  22.    function Get_FacadeI (C_DataReader : System.Address) 
  23.                          return Ref_Access; 
  24.  
  25.    function Narrow 
  26.      (reader : DDS.DataReader.Ref_Access) 
  27.       return DDS.Builtin_Octets_DataReader.Ref_Access; 
  28.    --  <dref>OctetsDataReader_narrow</dref> 
  29.  
  30.    function As_DataReader 
  31.      (writer : DDS.Builtin_Octets_DataReader.Ref_Access) 
  32.       return DDS.DataReader.Ref_Access; 
  33.    --  <dref>OctetsDataReader_as_datareader</dref> 
  34.  
  35.    procedure Read 
  36.      (This            : not null access constant Ref; 
  37.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  38.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  39.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  40.       Sample_States   : in Standard.DDS.SampleStateMask := Standard.DDS.ANY_SAMPLE_STATE; 
  41.       View_States     : in Standard.DDS.ViewStateMask := Standard.DDS.ANY_VIEW_STATE; 
  42.       Instance_States : in Standard.DDS.InstanceStateMask := Standard.DDS.ANY_INSTANCE_STATE); 
  43.    --  <dref>OctetsDataReader_read</dref> 
  44.  
  45.    procedure Take 
  46.      (This            : not null access constant Ref; 
  47.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  48.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  49.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  50.       Sample_States   : in Standard.DDS.SampleStateMask := Standard.DDS.ANY_SAMPLE_STATE; 
  51.       View_States     : in Standard.DDS.ViewStateMask := Standard.DDS.ANY_VIEW_STATE; 
  52.       Instance_States : in Standard.DDS.InstanceStateMask := Standard.DDS.ANY_INSTANCE_STATE); 
  53.    --  <dref>OctetsDataReader_take</dref> 
  54.  
  55.    procedure Read_W_Condition 
  56.      (This          : not null access constant Ref; 
  57.       Received_Data : not null access DDS.Octets_Seq.Sequence; 
  58.       Info_Seq      : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  59.       Max_Samples   : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  60.       Condition     : access Standard.DDS.ReadCondition.Ref'Class); 
  61.    --  <dref>OctetsDataReader_read_w_condition</dref> 
  62.  
  63.    procedure Take_W_Condition 
  64.      (This          : not null access constant Ref; 
  65.       Received_Data : not null access DDS.Octets_Seq.Sequence; 
  66.       Info_Seq      : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  67.       Max_Samples   : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  68.       Condition     : access Standard.DDS.ReadCondition.Ref'Class); 
  69.    --  <dref>OctetsDataReader_take_w_condition</dref> 
  70.  
  71.    procedure Read_Next_Sample 
  72.      (This          : not null access constant Ref; 
  73.       received_data : access DDS.Octets; 
  74.       Sample_Info   : not null access Standard.DDS.SampleInfo); 
  75.    --  <dref>OctetsDataReader_read_next_sample</dref> 
  76.  
  77.    procedure Take_Next_Sample 
  78.      (This          : not null access constant Ref; 
  79.       received_data : access DDS.Octets; 
  80.       Sample_Info   : not null access Standard.DDS.SampleInfo); 
  81.    --  <dref>OctetsDataReader_take_next_sample</dref> 
  82.  
  83.    procedure Read_Instance 
  84.      (This            : not null access constant Ref; 
  85.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  86.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  87.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  88.       A_Handle        : access DDS.InstanceHandle_T; 
  89.       Sample_States   : in Standard.DDS.SampleStateMask := Standard.DDS.ANY_SAMPLE_STATE; 
  90.       View_States     : in Standard.DDS.ViewStateMask := Standard.DDS.ANY_VIEW_STATE; 
  91.       Instance_States : in Standard.DDS.InstanceStateMask := Standard.DDS.ANY_INSTANCE_STATE); 
  92.  
  93.  
  94.    procedure Take_Instance 
  95.      (This            : not null access constant Ref; 
  96.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  97.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  98.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  99.       A_Handle        : access DDS.InstanceHandle_T; 
  100.       Sample_States   : in Standard.DDS.SampleStateMask := Standard.DDS.ANY_SAMPLE_STATE; 
  101.       View_States     : in Standard.DDS.ViewStateMask := Standard.DDS.ANY_VIEW_STATE; 
  102.       Instance_States : in Standard.DDS.InstanceStateMask := Standard.DDS.ANY_INSTANCE_STATE); 
  103.  
  104.    procedure Read_Instance_W_Condition 
  105.      (This            : not null access constant Ref; 
  106.       Received_Data   : not null access Octets_Seq.Sequence; 
  107.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  108.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  109.       A_Handle        : access Standard.DDS.InstanceHandle_T; 
  110.       Condition       : Standard.DDS.ReadCondition.Ref_Access); 
  111.  
  112.    procedure Take_Instance_W_Condition 
  113.      (This            : not null access constant Ref; 
  114.       Received_Data   : not null access Octets_Seq.Sequence; 
  115.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  116.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  117.       A_Handle        : access Standard.DDS.InstanceHandle_T; 
  118.       Condition       : Standard.DDS.ReadCondition.Ref_Access); 
  119.  
  120.    procedure Read_Next_Instance 
  121.      (This            : not null access constant Ref; 
  122.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  123.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  124.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  125.       Previous_Handle : access Standard.DDS.InstanceHandle_T; 
  126.       Sample_States   : in Standard.DDS.SampleStateMask := Standard.DDS.ANY_SAMPLE_STATE; 
  127.       View_States     : in Standard.DDS.ViewStateMask := Standard.DDS.ANY_VIEW_STATE; 
  128.       Instance_States : in Standard.DDS.InstanceStateMask := Standard.DDS.ANY_INSTANCE_STATE); 
  129.  
  130.    procedure Take_Next_Instance 
  131.      (This            : not null access constant Ref; 
  132.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  133.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  134.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  135.       Previous_Handle : access Standard.DDS.InstanceHandle_T; 
  136.       Sample_States   : in Standard.DDS.SampleStateMask := Standard.DDS.ANY_SAMPLE_STATE; 
  137.       View_States     : in Standard.DDS.ViewStateMask := Standard.DDS.ANY_VIEW_STATE; 
  138.       Instance_States : in Standard.DDS.InstanceStateMask := Standard.DDS.ANY_INSTANCE_STATE); 
  139.  
  140.    procedure Read_Next_Instance_W_Condition 
  141.      (This            : not null access constant Ref; 
  142.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  143.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  144.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  145.       Previous_Handle : access Standard.DDS.InstanceHandle_T; 
  146.       Condition       : Standard.DDS.ReadCondition.Ref_Access); 
  147.  
  148.    procedure Take_Next_Instance_W_Condition 
  149.      (This            : not null access constant Ref; 
  150.       Received_Data   : not null access DDS.Octets_Seq.Sequence; 
  151.       Info_Seq        : not null access Standard.DDS.SampleInfo_Seq.Sequence; 
  152.       Max_Samples     : in Standard.DDS.Long := Standard.DDS.LENGTH_UNLIMITED; 
  153.       Previous_Handle : access Standard.DDS.InstanceHandle_T; 
  154.       Condition       : Standard.DDS.ReadCondition.Ref_Access); 
  155.  
  156.    procedure Return_Loan 
  157.      (This          : not null access constant Ref; 
  158.       Received_Data : not null access DDS.Octets_Seq.Sequence; 
  159.       Info_Seq      : not null access Standard.DDS.SampleInfo_Seq.Sequence); 
  160.    --  <dref>OctetsDataReader_return_loan</dref> 
  161.  
  162.    procedure Get_Key_Value 
  163.      (This       : not null access constant Ref; 
  164.       Key_Holder : access DDS.Octets; 
  165.       Handle     : access Standard.DDS.InstanceHandle_T); 
  166.  
  167.  
  168.    function Lookup_Instance 
  169.      (This       : not null access constant Ref; 
  170.       Key_Holder : access DDS.Octets) return DDS.InstanceHandle_T; 
  171.  
  172.  
  173.    --  <internal> 
  174.    --  ========================================================================= 
  175.    -- 
  176.    --  Internal Routines not to be used by the application 
  177.    -- 
  178.    --  ========================================================================= 
  179.    --  </internal> 
  180.  
  181.    function CreateTypedI return Standard.DDS.DataReader.Ref_Access; 
  182.  
  183.    procedure DestroyTypedI 
  184.      (Reader : in out Standard.DDS.DataReader.Ref_Access); 
  185.  
  186. end DDS.Builtin_Octets_DataReader;