LeviLamina
Loading...
Searching...
No Matches
SerializedPayloadPacket.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/network/Packet.h"
5#include "mc/network/packet/cerealize/core/SerializationMode.h"
6
7template <typename PacketInfoT, typename PacketPayloadT>
8class SerializedPayloadPacket : public Packet, public PacketPayloadT {
9public:
10 SerializationMode serializationMode;
11
12 template <typename... Args>
13 SerializedPayloadPacket(Args&&... args) : Packet(),
14 PacketPayloadT(std::forward<Args>(args)...) {}
15
16public:
17 virtual ::MinecraftPacketIds getId() const;
18
19 virtual ::std::string getName() const;
20
21 virtual void writeWithSerializationMode(
22 ::BinaryStream& bitStream,
23 ::cereal::ReflectionCtx const& reflectionCtx,
24 ::std::optional<::SerializationMode>
25 ) const;
26
27 virtual void write(::BinaryStream& bitStream, ::cereal::ReflectionCtx const& reflectionCtx) const;
28
29 virtual void write(::BinaryStream&) const;
30
31 virtual ::Bedrock::Result<void>
32 read(::ReadOnlyBinaryStream& bitStream, ::cereal::ReflectionCtx const& reflectionCtx);
33
34 virtual ::Bedrock::Result<void> read(::ReadOnlyBinaryStream& bitStream);
35
36 virtual ::SerializationMode getSerializationMode() const;
37
38 virtual void setSerializationMode(::SerializationMode);
39
40 virtual ::Bedrock::Result<void>
41 _read(::ReadOnlyBinaryStream& bitStream, ::cereal::ReflectionCtx const& reflectionCtx);
42
43 virtual ::Bedrock::Result<void> _read(::ReadOnlyBinaryStream&);
44};
Definition BinaryStream.h:10
Definition Packet.h:43
Definition ReadOnlyBinaryStream.h:8
Definition SerializedPayloadPacket.h:8
Definition ReflectionCtx.h:11