Botcraft 1.21.4
Loading...
Searching...
No Matches
NetworkType.hpp
Go to the documentation of this file.
1#pragma once
2
7
8namespace ProtocolCraft
9{
11 {
12 public:
13 virtual ~NetworkType()
14 {
15
16 }
17
18 virtual void Read(ReadIterator& iter, size_t& length)
19 {
20 return ReadImpl(iter, length);
21 }
22
23 virtual void Write(WriteContainer& container) const
24 {
25 return WriteImpl(container);
26 }
27
28 virtual Json::Value Serialize() const
29 {
30 return SerializeImpl();
31 }
32
33 protected:
34 virtual void ReadImpl(ReadIterator& iter, size_t& length) = 0;
35 virtual void WriteImpl(WriteContainer& container) const = 0;
36 virtual Json::Value SerializeImpl() const = 0;
37 };
38} // ProtocolCraft
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...
Definition Json.hpp:45
virtual Json::Value SerializeImpl() const =0
virtual void WriteImpl(WriteContainer &container) const =0
virtual void Write(WriteContainer &container) const
virtual Json::Value Serialize() const
virtual void ReadImpl(ReadIterator &iter, size_t &length)=0
virtual void Read(ReadIterator &iter, size_t &length)
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator