diff options
Diffstat (limited to 'include/network/Stream.hpp')
-rw-r--r-- | include/network/Stream.hpp | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/include/network/Stream.hpp b/include/network/Stream.hpp deleted file mode 100644 index a24dfbe..0000000 --- a/include/network/Stream.hpp +++ /dev/null @@ -1,107 +0,0 @@ -#pragma once - -#include <algorithm> -#include <string> -#include <stdexcept> -#include <vector> -#include <cstring> - -#include <nlohmann/json.hpp> -#include <easylogging++.h> - -#include <network/Socket.hpp> -#include <Vector.hpp> -#include <Utility.hpp> - -class Stream { -public: - virtual ~Stream() {}; -}; - -class StreamInput : Stream { - virtual void ReadData(unsigned char *buffPtr, size_t buffLen) = 0; -public: - virtual ~StreamInput() = default; - bool ReadBool(); - signed char ReadByte(); - unsigned char ReadUByte(); - short ReadShort(); - unsigned short ReadUShort(); - int ReadInt(); - long long ReadLong(); - float ReadFloat(); - double ReadDouble(); - std::string ReadString(); - std::string ReadChat(); - int ReadVarInt(); - long long ReadVarLong(); - std::vector<unsigned char> ReadEntityMetadata(); - std::vector<unsigned char> ReadSlot(); - std::vector<unsigned char> ReadNbtTag(); - Vector ReadPosition(); - unsigned char ReadAngle(); - std::vector<unsigned char> ReadUuid(); - std::vector<unsigned char> ReadByteArray(size_t arrLength); -}; - -class StreamOutput : Stream { - virtual void WriteData(unsigned char *buffPtr, size_t buffLen) = 0; -public: - virtual ~StreamOutput() = default; - void WriteBool(bool value); - void WriteByte(signed char value); - void WriteUByte(unsigned char value); - void WriteShort(short value); - void WriteUShort(unsigned short value); - void WriteInt(int value); - void WriteLong(long long value); - void WriteFloat(float value); - void WriteDouble(double value); - void WriteString(std::string value); - void WriteChat(std::string value); - void WriteVarInt(int value); - void WriteVarLong(long long value); - void WriteEntityMetadata(std::vector<unsigned char> value); - void WriteSlot(std::vector<unsigned char> value); - void WriteNbtTag(std::vector<unsigned char> value); - void WritePosition(Vector value); - void WriteAngle(unsigned char value); - void WriteUuid(std::vector<unsigned char> value); - void WriteByteArray(std::vector<unsigned char> value); -}; - -class StreamBuffer : public StreamInput, public StreamOutput { - unsigned char *buffer; - unsigned char *bufferPtr; - size_t bufferLength; - - void ReadData(unsigned char *buffPtr, size_t buffLen) override; - void WriteData(unsigned char *buffPtr, size_t buffLen) override; - -public: - StreamBuffer(unsigned char *data, size_t dataLen); - StreamBuffer(size_t bufferLen); - ~StreamBuffer(); - - std::vector<unsigned char> GetBuffer(); -}; - -class StreamCounter : public StreamOutput { - void WriteData(unsigned char *buffPtr, size_t buffLen) override; - - size_t size; -public: - StreamCounter(size_t initialSize = 0); - ~StreamCounter(); - - size_t GetCountedSize(); -}; - -class StreamSocket : public StreamInput, public StreamOutput { - Socket *socket; - void ReadData(unsigned char *buffPtr, size_t buffLen) override; - void WriteData(unsigned char *buffPtr, size_t buffLen) override; -public: - StreamSocket(Socket *socketPtr); - ~StreamSocket() = default; -};
\ No newline at end of file |