
* Lightly reworked `NetworkManager` * Added new modules to handle various connection types. * TCP * WebSocket * Added general string splitter alias based on Qt version. * Replaced `lobby_constructed` and `courtroom_constructed` * Refactored and partially reimplemented the following classes: * `AOBlipPlayer` * `AOEmotePreview` * `AOMusicPlayer` * `AOSfxPlayer` * `AOTextArea`
33 lines
679 B
C++
33 lines
679 B
C++
#pragma once
|
|
|
|
#include "netconnection.h"
|
|
|
|
class NetworkManager;
|
|
|
|
#include <QWebSocket>
|
|
|
|
class NetWebSocketConnection : public NetConnection
|
|
{
|
|
public:
|
|
NetWebSocketConnection(NetworkManager *networkManager);
|
|
virtual ~NetWebSocketConnection();
|
|
|
|
bool isConnected() override;
|
|
|
|
void connectToServer(ServerInfo &server) override;
|
|
void disconnectFromServer() override;
|
|
|
|
void sendPacket(AOPacket packet) override;
|
|
|
|
private:
|
|
NetworkManager *m_network_manager;
|
|
|
|
QWebSocket *m_socket;
|
|
QAbstractSocket::SocketState m_last_state;
|
|
|
|
private Q_SLOTS:
|
|
void onError();
|
|
void onStateChanged(QAbstractSocket::SocketState state);
|
|
void onTextMessageReceived(QString message);
|
|
};
|