mirror-chatterino2/channels.h

49 lines
959 B
C
Raw Normal View History

#ifndef CHANNELS_H
#define CHANNELS_H
#include "channel.h"
2017-01-18 21:30:23 +01:00
namespace chatterino {
class Channels
{
public:
2017-01-30 19:14:25 +01:00
static std::shared_ptr<Channel>
2017-01-18 04:33:30 +01:00
getWhispers()
{
2017-01-30 19:14:25 +01:00
return whispers;
}
2017-01-30 19:14:25 +01:00
static std::shared_ptr<Channel>
2017-01-18 04:33:30 +01:00
getMentions()
{
2017-01-30 19:14:25 +01:00
return mentions;
}
2017-01-30 19:14:25 +01:00
static std::shared_ptr<Channel>
getEmpty()
{
return empty;
}
const static std::vector<std::shared_ptr<Channel>> getItems();
static std::shared_ptr<Channel> addChannel(const QString &channel);
static std::shared_ptr<Channel> getChannel(const QString &channel);
static void removeChannel(const QString &channel);
private:
Channels()
{
}
2017-01-30 19:14:25 +01:00
static std::shared_ptr<Channel> whispers;
static std::shared_ptr<Channel> mentions;
static std::shared_ptr<Channel> empty;
2017-01-30 19:14:25 +01:00
static QMap<QString, std::tuple<std::shared_ptr<Channel>, int>> channels;
static QMutex channelsMutex;
};
2017-01-18 21:30:23 +01:00
}
#endif // CHANNELS_H