mirror-chatterino2/src/singletons/Logging.hpp

34 lines
709 B
C++
Raw Normal View History

#pragma once
2018-07-07 11:41:01 +02:00
#include "common/Singleton.hpp"
2018-06-26 14:09:39 +02:00
#include "messages/Message.hpp"
#include "singletons/helper/LoggingChannel.hpp"
#include <memory>
namespace chatterino {
2018-06-26 16:37:59 +02:00
2018-06-28 19:51:07 +02:00
class Paths;
2018-07-07 11:41:01 +02:00
class Logging : public Singleton
{
2018-06-28 19:51:07 +02:00
Paths *pathManager = nullptr;
public:
2018-06-28 19:51:07 +02:00
Logging() = default;
2018-08-02 14:23:27 +02:00
virtual void initialize(Settings &settings, Paths &paths) override;
void addMessage(const QString &channelName, MessagePtr message,
const QString &platformName);
private:
using PlatformName = QString;
using ChannelName = QString;
std::map<PlatformName,
std::map<ChannelName, std::unique_ptr<LoggingChannel>>>
loggingChannels_;
};
} // namespace chatterino