pragma Ada_05;
with RTIDDS.Low_Level.config_c_h;
with RTIDDS.Low_Level.dds_c.infrastructure_h;
with RTIDDS.Obj_Impl;
package RTIDDS.Config is
use RTIDDS.Low_Level.config_c_h;
type LogCategory is private;
Category_PLATFORM : constant LogCategory;
Category_COMMUNICATION : constant LogCategory;
Category_DATABASE : constant LogCategory;
Category_ENTITIES : constant LogCategory;
Category_API : constant LogCategory;
Category_ALL : constant LogCategory;
type LogVerbosity is private;
function "+" (left, Right : LogVerbosity) return LogVerbosity;
VERBOSITY_SILENT : constant LogVerbosity;
VERBOSITY_ERROR : constant LogVerbosity;
VERBOSITY_WARNING : constant LogVerbosity;
VERBOSITY_STATUS_LOCAL : constant LogVerbosity;
VERBOSITY_STATUS_REMOTE : constant LogVerbosity;
VERBOSITY_ALL : constant LogVerbosity;
function image (item : LogVerbosity) return Standard.String;
type LogPrintFormat is private;
function "+" (left, Right : LogPrintFormat) return LogPrintFormat;
PRINT_BIT_NUMBER : constant LogPrintFormat;
PRINT_BIT_MESSAGE : constant LogPrintFormat;
PRINT_BIT_LOCATION_MODULE : constant LogPrintFormat;
PRINT_BIT_LOCATION_FILELINE : constant LogPrintFormat;
PRINT_BIT_LOCATION_METHOD : constant LogPrintFormat;
PRINT_BIT_TIMESTAMP : constant LogPrintFormat;
PRINT_BIT_THREAD_ID : constant LogPrintFormat;
PRINT_BIT_CONTEXT : constant LogPrintFormat;
PRINT_BIT_TWO_LINES : constant LogPrintFormat;
PRINT_FORMAT_DEFAULT : constant LogPrintFormat;
PRINT_FORMAT_TIMESTAMPED : constant LogPrintFormat;
PRINT_FORMAT_VERBOSE : constant LogPrintFormat;
PRINT_FORMAT_VERBOSE_TIMESTAMPED : constant LogPrintFormat;
PRINT_FORMAT_DEBUG : constant LogPrintFormat;
PRINT_FORMAT_MINIMAL : constant LogPrintFormat;
PRINT_FORMAT_MAXIMAL : constant LogPrintFormat;
package 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 RTIDDS.Config.LogVerbosity;
function get_verbosity (This : not null access Ref;
Category : in RTIDDS.Config.LogCategory) return RTIDDS.Config.LogVerbosity;
procedure Set_Verbosity (This : not null access Ref;
Verbosity : in RTIDDS.Config.LogVerbosity);
procedure Set_Verbosity (This : not null access Ref;
Category : in RTIDDS.Config.LogCategory;
Verbosity : in RTIDDS.Config.LogVerbosity);
function get_print_format (This : not null access Ref) return RTIDDS.Config.LogPrintFormat;
procedure Set_print_format (This : not null access Ref; format : RTIDDS.Config.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.config_c_h.NDDS_Config_LoggerDevice is abstract;
function GetLogger
(Self : access LoggerDevice_Interface) return
RTIDDS.Config.Logger.Ref_Access is abstract;
procedure Set_output_device (Self : not null access RTIDDS.Config.Logger.Ref;
device : access LoggerDevice_Interface'Class);
end Logger;
type LibraryVersion is new NDDS_Config_LibraryVersion_t;
type ProductVersion is new RTIDDS.Low_Level.dds_c.infrastructure_h.DDS_ProductVersion_t;
function get_api_version return LibraryVersion;
function get_api_version return String;
function get_core_version return LibraryVersion;
function get_core_version return String;
function get_product_version return ProductVersion;
function get_product_version return String;
function Image (Item : LibraryVersion) return String;
function Image (Item : ProductVersion) return String;
function get_core_build_number return Standard.String;
function get_C_build_number return Standard.String;
private
type LogCategory is new NDDS_Config_LogCategory;
Category_PLATFORM : constant LogCategory := LogCategory (RTIDDS.Low_Level.config_c_h.NDDS_CONFIG_LOG_CATEGORY_PLATFORM);
Category_COMMUNICATION : constant LogCategory := LogCategory (RTIDDS.Low_Level.config_c_h.NDDS_CONFIG_LOG_CATEGORY_COMMUNICATION);
Category_DATABASE : constant LogCategory := LogCategory (RTIDDS.Low_Level.config_c_h.NDDS_CONFIG_LOG_CATEGORY_DATABASE);
Category_ENTITIES : constant LogCategory := LogCategory (RTIDDS.Low_Level.config_c_h.NDDS_CONFIG_LOG_CATEGORY_ENTITIES);
Category_API : constant LogCategory := LogCategory (RTIDDS.Low_Level.config_c_h.NDDS_CONFIG_LOG_CATEGORY_API);
Category_ALL : constant LogCategory := LogCategory (RTIDDS.Low_Level.config_c_h.NDDS_CONFIG_LOG_CATEGORY_ALL);
type LogVerbosity is new NDDS_Config_LogVerbosity;
VERBOSITY_SILENT : constant LogVerbosity := LogVerbosity (NDDS_CONFIG_LOG_VERBOSITY_SILENT);
VERBOSITY_ERROR : constant LogVerbosity := LogVerbosity (NDDS_CONFIG_LOG_VERBOSITY_ERROR);
VERBOSITY_WARNING : constant LogVerbosity := LogVerbosity (NDDS_CONFIG_LOG_VERBOSITY_WARNING);
VERBOSITY_STATUS_LOCAL : constant LogVerbosity := LogVerbosity (NDDS_CONFIG_LOG_VERBOSITY_STATUS_LOCAL);
VERBOSITY_STATUS_REMOTE : constant LogVerbosity := LogVerbosity (NDDS_CONFIG_LOG_VERBOSITY_STATUS_REMOTE);
VERBOSITY_ALL : constant LogVerbosity := LogVerbosity (NDDS_CONFIG_LOG_VERBOSITY_STATUS_ALL);
type LogPrintFormat is new NDDS_Config_LogPrintFormat;
PRINT_BIT_NUMBER : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_NUMBER);
PRINT_BIT_MESSAGE : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_MESSAGE);
PRINT_BIT_LOCATION_MODULE : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_MODULE);
PRINT_BIT_LOCATION_FILELINE : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_FILELINE);
PRINT_BIT_LOCATION_METHOD : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_METHOD);
PRINT_BIT_TIMESTAMP : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_TIMESTAMP);
PRINT_BIT_THREAD_ID : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_THREAD_ID);
PRINT_BIT_CONTEXT : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_CONTEXT);
PRINT_BIT_TWO_LINES : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_BIT_TWO_LINES);
PRINT_FORMAT_DEFAULT : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_DEFAULT);
PRINT_FORMAT_TIMESTAMPED : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_TIMESTAMPED);
PRINT_FORMAT_VERBOSE : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_VERBOSE);
PRINT_FORMAT_VERBOSE_TIMESTAMPED : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_VERBOSE_TIMESTAMPED);
PRINT_FORMAT_DEBUG : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_DEBUG);
PRINT_FORMAT_MINIMAL : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_MINIMAL);
PRINT_FORMAT_MAXIMAL : constant LogPrintFormat := LogPrintFormat (NDDS_CONFIG_LOG_PRINT_FORMAT_MAXIMAL);
end RTIDDS.Config;