mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-02-20 16:25:22 -05:00
33 lines
673 B
C++
33 lines
673 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <functional>
|
|
#include <vector>
|
|
#include <cstdint>
|
|
|
|
namespace wowee {
|
|
namespace network {
|
|
|
|
class Packet;
|
|
|
|
class Socket {
|
|
public:
|
|
virtual ~Socket() = default;
|
|
|
|
virtual bool connect(const std::string& host, uint16_t port) = 0;
|
|
virtual void disconnect() = 0;
|
|
virtual bool isConnected() const = 0;
|
|
|
|
virtual void send(const Packet& packet) = 0;
|
|
virtual void update() = 0;
|
|
|
|
using PacketCallback = std::function<void(const Packet&)>;
|
|
void setPacketCallback(PacketCallback callback) { packetCallback = callback; }
|
|
|
|
protected:
|
|
PacketCallback packetCallback;
|
|
};
|
|
|
|
} // namespace network
|
|
} // namespace wowee
|