atrooney-online-2/src/net/netwebsocketconnection.h
TrickyLeifa 1ef96383c8 Lightly reworked NetworkManager, ...
* 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`
2024-05-17 19:04:57 +02:00

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);
};