#ifndef CHANNEL_H #define CHANNEL_H #include "concurrentmap.h" #include "lazyloadedimage.h" #include #include #include #include #include class Message; class Channel { public: Channel(const QString &channel); // properties const ConcurrentMap & getBttvChannelEmotes() const { return bttvChannelEmotes; } const ConcurrentMap & getFfzChannelEmotes() const { return ffzChannelEmotes; } const QMutex & getMessageMutex() const { return messageMutex; } const QString & getName() const { return name; } int getRoomID() const { return roomID; } const QString & getSubLink() const { return subLink; } const QString & getChannelLink() const { return channelLink; } const QString & getPopoutPlayerLink() const { return popoutPlayerLink; } bool getIsLive() const { return isLive; } int getStreamViewerCount() const { return streamViewerCount; } const QString & getStreamStatus() const { return streamStatus; } const QString & getStreamGame() const { return streamGame; } // methods void addMessage(std::shared_ptr message); QVector> getMessagesClone(); private: QVector> messages; QString name; int roomID; ConcurrentMap bttvChannelEmotes; ConcurrentMap ffzChannelEmotes; QMutex messageMutex; QString subLink; QString channelLink; QString popoutPlayerLink; bool isLive; int streamViewerCount; QString streamStatus; QString streamGame; }; #endif // CHANNEL_H