#pragma once #include "channel.hpp" namespace chatterino { class ChannelManager { public: static ChannelManager &getInstance() { return instance; } std::shared_ptr getWhispers(); std::shared_ptr getMentions(); std::shared_ptr getEmpty(); const std::vector> getItems(); std::shared_ptr addChannel(const QString &channel); std::shared_ptr getChannel(const QString &channel); void removeChannel(const QString &channel); private: static ChannelManager instance; ChannelManager(); QMap, int>> _channels; QMutex _channelsMutex; std::shared_ptr _whispers; std::shared_ptr _mentions; std::shared_ptr _empty; }; } // namespace chatterino