PubSub system (#346)

* Add websocketpp dependency

* Initial pubsub commit

Renamed selection min and max variables to selectionMin and selectionMax
to bypass windows min/max macros being stupid.

TwitchAccount is now initialized with its User ID. It cannot be changed
after it has been initialized.

* Update openssl folder

* Update installation instructions

* Split up websocketpp dependency to its own code only and openssl.pri

* Add missing include to asio steady_timer

* Update dependencies for linux
This commit is contained in:
pajlada
2018-04-15 15:09:31 +02:00
committed by GitHub
parent d5097e71a3
commit 23cf8cc484
33 changed files with 1502 additions and 68 deletions
+11 -1
View File
@@ -8,6 +8,8 @@
#include "singletons/ircmanager.hpp"
#include "util/concurrentmap.hpp"
#include <pajlada/signals/signalholder.hpp>
#include <mutex>
namespace chatterino {
@@ -16,7 +18,7 @@ namespace twitch {
class TwitchServer;
class TwitchChannel final : public Channel
class TwitchChannel final : public Channel, pajlada::Signals::SignalHolder
{
QTimer *liveStatusTimer;
QTimer *chattersListTimer;
@@ -31,6 +33,11 @@ public:
QString uptime;
};
struct UserState {
bool mod;
bool broadcaster;
};
~TwitchChannel() final;
void reloadChannelEmotes();
@@ -88,6 +95,9 @@ private:
mutable std::mutex streamStatusMutex;
StreamStatus streamStatus;
mutable std::mutex userStateMutex;
UserState userState;
void fetchRecentMessages();
bool mod;