working dispatcher + factory
All checks were successful
Linux arm64 / Build (push) Successful in 1m17s

This commit is contained in:
2025-06-25 19:33:11 +02:00
parent 392fcb3d17
commit 10b49b34dd
35 changed files with 315 additions and 1472 deletions

View File

@@ -4,17 +4,28 @@
#include <sp/protocol/Field.h>
#include <sp/protocol/MessageBase.h>
enum class DisconnectFieldsE {
Reason = 0
struct DisconnectPacketData {
std::string m_Reason;
};
using DisconnectFields = std::tuple<std::string /*Reason*/>;
class DisconnectPacket : public sp::MessageBase<sp::PacketMessage, sp::option::DispatchImpl<DisconnectPacket>> {
private:
DisconnectPacketData m_Data;
DeclarePacket(Disconnect){
public:
PacketConstructor(Disconnect)
public:
template<typename ... T>
DisconnectPacket(T... args) : m_Data{args...} {}
const std::string& GetReason() const {
return GetField<DisconnectFieldsE, DisconnectFieldsE::Reason>();
return m_Data.m_Reason;
}
virtual sp::PacketID GetId() const {
return Disconnect;
}
};
void ff() {
sizeof(std::string);
}