aboutsummaryrefslogtreecommitdiff
path: root/src/net/netconnection.h
diff options
context:
space:
mode:
authorTrickyLeifa <date.epoch@gmail.com>2024-05-17 16:39:30 +0200
committerTrickyLeifa <date.epoch@gmail.com>2024-05-17 19:04:57 +0200
commit1ef96383c8f7ed136a0e028aef0835b4838b5e95 (patch)
treee87a9df097a50b4d1f918f8a4f37d210562d10d6 /src/net/netconnection.h
parent39e4354b1dae5d8487ea5b84be9f304b1950a61a (diff)
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`
Diffstat (limited to 'src/net/netconnection.h')
-rw-r--r--src/net/netconnection.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/net/netconnection.h b/src/net/netconnection.h
new file mode 100644
index 00000000..0b5d6be3
--- /dev/null
+++ b/src/net/netconnection.h
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "aopacket.h"
+#include "datatypes.h"
+
+#include <QObject>
+
+class NetConnection : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit NetConnection(QObject *parent = nullptr);
+
+ virtual bool isConnected() = 0;
+
+ virtual void connectToServer(ServerInfo &server) = 0;
+ virtual void disconnectFromServer() = 0;
+
+ virtual void sendPacket(AOPacket packet) = 0;
+
+Q_SIGNALS:
+ void connectedToServer();
+ void disconnectedFromServer();
+ void errorOccurred(QString error);
+
+ void receivedPacket(AOPacket packet);
+};