1. --   (c) Copyright, Real-Time Innovations, 2025. 
  2. --   All rights reserved. 
  3. --   No duplications, whole or partial, manual or electronic, may be made 
  4. --   without express written permission.  Any such copies, or 
  5. --   revisions thereof, must display this notice unaltered. 
  6. --   This code contains trade secrets of Real-Time Innovations, Inc. 
  7.  
  8.  
  9. --  SPDX-FileCopyrightText: 2023 Per Sandberg <per.s.sandberg@bahnhof.se> 
  10. --  SPDX-License-Identifier: Apache-2.0 
  11. with Ada.Finalization; 
  12. private with RTIDDS.Low_Level.ndds_ndds_config_c_h; 
  13. package DDS.Logger.LoggerDevice is 
  14.  
  15.  
  16.    type Ref is limited new Ada.Finalization.Limited_Controlled and Logger.LoggerDevice_Interface with private; 
  17.    type Ref_Access is access all Ref'Class; 
  18.    procedure Write (Self : not null access Ref; Text : Standard.String; Level : LogVerbosity) is null; 
  19.    procedure Close (Self : not null access Ref) is null; 
  20.  
  21.  
  22. private 
  23.    procedure LL_Write 
  24.      (Arg1 : access RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LoggerDevice; 
  25.       Arg2 : access constant RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogMessage) 
  26.         with Convention => C; 
  27.  
  28.    procedure LL_Close (Arg1 : access RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LoggerDevice) with 
  29.      Convention => C; 
  30.  
  31.    type Ref is limited new Ada.Finalization.Limited_Controlled and Logger.LoggerDevice_Interface with record 
  32.       Data   : aliased RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LoggerDevice; 
  33.       Parent : Logger.Ref_Access; 
  34.    end record; 
  35.  
  36.    function GetDevice (Self : access Ref) return access RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LoggerDevice; 
  37.    function GetLogger (Self : access Ref) return Logger.Ref_Access; 
  38.  
  39.    procedure Initialize (Self : in out Ref); 
  40.    procedure Finalize (Self : in out Ref); 
  41.  
  42. end DDS.Logger.LoggerDevice;