Program Listing for File log.idl#

Return to documentation for file (interfaces\log.idl)

 /********************************************************************************
 * Copyright (c) 2025-2026 ZF Friedrichshafen AG
 *
 * This program and the accompanying materials are made available under the
 * terms of the Apache License Version 2.0 which is available at
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Contributors:
 *   Erik Verhoeven - initial API and implementation
 ********************************************************************************/

#include "core.idl"
#include "process.idl"

module sdv
{
    module core
    {
        enum ELogSeverity : uint32
        {
            trace = 1,
            debug = 2,
            info = 3,
            warning = 4,
            error = 5,
            fatal = 6
        };

        interface ILoggerConfig
        {
            void SetProgramTag(in u8string ssTag);

            u8string GetProgramTag() const;

            void SetLogFilter(in ELogSeverity eSeverity, in ELogSeverity eViewSeverity);

            ELogSeverity GetLogFilter() const;

            ELogSeverity GetViewFilter() const;
        };

        interface ILogger
        {
            void Log(in ELogSeverity eSeverity, in u8string ssSrcFile, in uint32 iSrcLine, in process::TProcessID tProcessID,
                in u8string ssObjectName, in u8string ssMessage);
        };
    };
};