aboutsummaryrefslogtreecommitdiff
path: root/src/net/netconnection.h
blob: 0b5d6be3b8f4350f2471ce954bda083744843a26 (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
#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);
};