Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 2147feaafcba1767015d9832401913469d5dc0b4
  • master par défaut
  • script
  • new-devel
  • devel
  • timingView-edit
  • fix-mpv
7 résultats

Log.cc

Blame
  • Log.cc 1,74 Kio
    #include "Log.hh"
    
    using namespace Vivy;
    
    LogSink::~LogSink() noexcept {}
    
    LogMessage::~LogMessage() noexcept { parentLogger->sendLogMessage(*this); }
    
    std::shared_ptr<LogSink>
    LogSink::newSink() noexcept
    {
        struct makeSharedEnabler : public LogSink {
            // NOTE: For make_shared with private CTor
        };
        return std::make_shared<makeSharedEnabler>();
    }
    
    void
    LogSink::closeLoggerClient(Logger *const logger) noexcept
    {
        clientLoggers.erase(std::remove_if(std::begin(clientLoggers), std::end(clientLoggers),
                                           [logger](const std::shared_ptr<Logger> &ptr) {
                                               return ptr.get() == logger;
                                           }));
    }
    
    void
    LogSink::closeLoggerClient(const std::shared_ptr<Logger> &ptr) noexcept
    {
        closeLoggerClient(ptr.get());
    }
    
    LogMessage
    Logger::logEvent(const char *fileName, const char *functionName, const int lineNumber,
                     const LogLevel logSeverity) noexcept
    {
        return LogMessage(this, LogMessage::Header{ .fileName         = fileName,
                                                    .functionName     = functionName,
                                                    .severity         = logSeverity,
                                                    .lineNumberInFile = lineNumber });
    }
    
    void
    Logger::sendLogMessage(const LogMessage &msg) const noexcept
    {
    }
    
    LogMessage::LogMessage(Logger *const logger, const LogMessage::Header hdr) noexcept
        : messageHeader(hdr)
        , parentLogger(logger)
    {
    }
    
    LogMessage &
    LogMessage::operator<<(const std::string &) noexcept
    {
        return *this;
    }
    
    LogMessage &
    LogMessage::operator<<(const int) noexcept
    {
        return *this;
    }
    
    LogMessage &
    LogMessage::operator<<(const long) noexcept
    {
        return *this;
    }