wowlet/src/utils/wsclient.h

40 lines
856 B
C
Raw Permalink Normal View History

// SPDX-License-Identifier: BSD-3-Clause
2020-12-26 19:56:06 +00:00
// Copyright (c) 2020-2021, The Monero Project.
#ifndef ECHOCLIENT_H
#define ECHOCLIENT_H
2020-12-28 04:39:20 +00:00
#include <QObject>
#include <QtWebSockets/QWebSocket>
2020-12-28 04:39:20 +00:00
#include <QTimer>
class AppContext;
class WSClient : public QObject
{
Q_OBJECT
public:
explicit WSClient(AppContext *ctx, QObject *parent = nullptr);
void start();
void sendMsg(const QByteArray &data);
QWebSocket webSocket;
signals:
void closed();
void connectionEstablished();
void WSMessage(QJsonObject message);
private slots:
void onConnected();
void onbinaryMessageReceived(const QByteArray &message);
void checkConnection();
void onError(QAbstractSocket::SocketError error);
private:
QTimer m_connectionTimer;
2020-12-22 22:46:01 +00:00
QTimer m_pingTimer;
AppContext *m_ctx;
bool m_tor = true;
};
#endif // ECHOCLIENT_H