From 1ef96383c8f7ed136a0e028aef0835b4838b5e95 Mon Sep 17 00:00:00 2001 From: TrickyLeifa Date: Fri, 17 May 2024 16:39:30 +0200 Subject: 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` --- src/net/netwebsocketconnection.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/net/netwebsocketconnection.h (limited to 'src/net/netwebsocketconnection.h') diff --git a/src/net/netwebsocketconnection.h b/src/net/netwebsocketconnection.h new file mode 100644 index 0000000..26f41a6 --- /dev/null +++ b/src/net/netwebsocketconnection.h @@ -0,0 +1,32 @@ +#pragma once + +#include "netconnection.h" + +class NetworkManager; + +#include + +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); +}; -- cgit