#pragma once #include "util/QStringHash.hpp" #include "util/ThreadGuard.hpp" #include #include #include #include namespace chatterino { class Settings; struct Message; using MessagePtr = std::shared_ptr; class LoggingChannel; class Logging { public: Logging(Settings &settings); void addMessage(const QString &channelName, MessagePtr message, const QString &platformName); private: using PlatformName = QString; using ChannelName = QString; std::map>> loggingChannels_; // Keeps the value of the `loggedChannels` settings std::unordered_set onlyLogListedChannels; ThreadGuard threadGuard; }; } // namespace chatterino