with RTIDDS.Obj_Impl;
package DDS.Logger is
type Ref is new RTIDDS.Obj_Impl.Ref with null record;
type Ref_Access is access all Ref'Class;
function Get_Instance return access Ref;
function Get_Verbosity (This : not null access Ref) return LogVerbosity;
function Get_Verbosity (This : not null access Ref;
Category : in LogCategory) return LogVerbosity;
procedure Set_Verbosity (This : not null access Ref;
Verbosity : in LogVerbosity);
procedure Set_Verbosity (This : not null access Ref;
Category : in LogCategory;
Verbosity : in LogVerbosity);
function Get_Print_Format (This : not null access Ref) return LogPrintFormat;
procedure Set_Print_Format (This : not null access Ref; Format : LogPrintFormat);
type LoggerDevice_Interface is limited interface;
procedure Write (Self : LoggerDevice_Interface; Text : Standard.String; Level : LogVerbosity) is abstract;
procedure Close (Self : LoggerDevice_Interface) is null;
function GetDevice
(Self : access LoggerDevice_Interface) return access
RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LoggerDevice is abstract;
function GetLogger
(Self : access LoggerDevice_Interface) return DDS.Logger.Ref_Access is abstract;
procedure Set_Output_Device (Self : not null access DDS.Logger.Ref;
Device : access LoggerDevice_Interface'Class);
end DDS.Logger;