blob: 9df9a49bdf483c12b877933bcd6d86bf37f65e0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#pragma once
#include "aopacket.h"
#include "serverinfo.h"
#include <QObject>
#include <QWebSocket>
class AOApplication;
class WebSocketConnection : public QObject
{
Q_OBJECT
public:
explicit WebSocketConnection(AOApplication *ao_app, QObject *parent = nullptr);
virtual ~WebSocketConnection();
bool isConnected();
void connectToServer(const ServerInfo &server);
void disconnectFromServer();
void sendPacket(AOPacket packet);
Q_SIGNALS:
void connectedToServer();
void disconnectedFromServer();
void errorOccurred(QString error);
void receivedPacket(AOPacket packet);
private:
AOApplication *ao_app;
QWebSocket *m_socket;
QAbstractSocket::SocketState m_last_state;
private Q_SLOTS:
void onError();
void onStateChanged(QAbstractSocket::SocketState state);
void onTextMessageReceived(QString message);
};
|