FeatherMC/src/Protocol.h

41 lines
840 B
C++

#pragma once
#include "Common.h"
#include "NetworkMessage.h"
#include "protocol/ProtocolDefinitions.h"
#include <cstdio>
#include <cstdint>
namespace Feather
{
class DedicatedServer;
class PacketReader;
class MinecraftClient;
class ProtocolContext
{
public:
inline ProtocolState GetState() const
{
return m_state;
}
inline void SetState(ProtocolState state)
{
Log_Info("Setting state: %d", (int)state);
m_state = state;
}
private:
ProtocolState m_state = ProtocolState::Handholding;
};
class Protocol
{
DedicatedServer& m_server;
public:
Protocol(DedicatedServer& server) : m_server(server) {}
void HandlePacket(MinecraftClient& client, PacketReader& packet);
};
}