From 68d8d1b5c725e380d05bb6bf3d73c86a21e80d48 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Sat, 13 Jun 2020 13:57:29 +0200 Subject: [PATCH] Parse WS messages --- wsclient.cpp | 11 +++++++++++ wsclient.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/wsclient.cpp b/wsclient.cpp index f7bcb20..51e93fb 100644 --- a/wsclient.cpp +++ b/wsclient.cpp @@ -1,4 +1,5 @@ #include +#include #include "apirequest.h" #include "wsclient.h" @@ -50,4 +51,14 @@ void WsClient::onConnected() void WsClient::onMessage(const QString &msg) { qDebug() << "WS message: " << msg; + + auto obj = QJsonDocument::fromJson(msg.toUtf8()).object(); + auto title = obj.value("title").toString(); + auto value = obj.value("data").toInt(-1); + + if(title == "number_notifs") + emit newNumberNotifs(value); + + else if(title == "number_unread_conversations") + emit newNumberConvs(value); } diff --git a/wsclient.h b/wsclient.h index 111c7f9..2845a70 100644 --- a/wsclient.h +++ b/wsclient.h @@ -22,6 +22,8 @@ public slots: void startConnect(); signals: + void newNumberNotifs(int num); + void newNumberConvs(int num); private slots: void onConnectionError();