X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FCommon%2Finclude%2Fserialisation.hpp;h=d680043da5ec562b802e76ce0a8a1a4381bd8e67;hb=9b09b24a5cc3dfb0cee51e0d1876c9253894666a;hp=32ba4659e443dfc9b107956f72ed91c5131027de;hpb=d74e5edc75b4fca94b71eef800b9d3a04760da05;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Common/include/serialisation.hpp b/Usermode/Applications/axwin4_src/Common/include/serialisation.hpp index 32ba4659..d680043d 100644 --- a/Usermode/Applications/axwin4_src/Common/include/serialisation.hpp +++ b/Usermode/Applications/axwin4_src/Common/include/serialisation.hpp @@ -28,10 +28,11 @@ class CDeserialiser size_t m_offset; public: CDeserialiser(size_t Length, const uint8_t *Buffer); + bool IsConsumed() const; ::uint8_t ReadU8(); ::uint16_t ReadU16(); ::int16_t ReadS16(); - ::std::string ReadString(); + const ::std::string ReadString(); }; class CSerialiser @@ -42,6 +43,7 @@ public: void WriteU8(::uint8_t val); void WriteU16(::uint16_t val); void WriteS16(::int16_t val); + void WriteBuffer(size_t n, const void* val); void WriteString(const char* val, size_t n); void WriteString(const char* val) { WriteString(val, ::std::char_traits::length(val)); @@ -50,6 +52,8 @@ public: WriteString(val.data(), val.size()); } void WriteSub(const CSerialiser& val); + + const ::std::vector& Compact(); }; };