36 lines
720 B
C++
36 lines
720 B
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
|
|
#include <memory>
|
|
#include <set>
|
|
|
|
class WebServer;
|
|
class QWebSocket;
|
|
|
|
class Client : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Client(WebServer &server, std::unique_ptr<QWebSocket> &&socket,
|
|
const QString &serial, const std::set<std::unique_ptr<Client>> &serialClients);
|
|
~Client() override;
|
|
|
|
signals:
|
|
void sendTextMessageToOthers(const QString &text);
|
|
|
|
public slots:
|
|
void sendTextMessage(const QString &text);
|
|
|
|
private slots:
|
|
void textMessageReceived(const QString &text);
|
|
void socketDestroyed();
|
|
void socketDisconnected();
|
|
|
|
private:
|
|
WebServer &m_server;
|
|
std::unique_ptr<QWebSocket> m_socket;
|
|
const QString m_serial;
|
|
};
|