4jcraft/minecraft/java/include/java/InputOutputStream/DataInputStream.h
2026-03-31 02:00:20 -05:00

39 lines
1.2 KiB
C++

#pragma once
// 4J Stu - Represents Java standard library class (although we miss out an
// intermediate inheritance class that we don't care about)
#include <string>
#include <cstdint>
#include "InputStream.h"
#include "DataInput.h"
class DataInputStream : public InputStream, public DataInput {
private:
InputStream* stream;
public:
DataInputStream(InputStream* in);
virtual int read();
virtual int read(std::vector<uint8_t>& b);
virtual int read(std::vector<uint8_t>& b, unsigned int offset, unsigned int length);
virtual void close();
virtual bool readBoolean();
virtual uint8_t readByte();
virtual unsigned char readUnsignedByte();
virtual wchar_t readChar();
virtual bool readFully(std::vector<uint8_t>& b);
virtual bool readFully(std::vector<char>& b);
virtual double readDouble();
virtual float readFloat();
virtual int readInt();
virtual int64_t readLong();
virtual short readShort();
virtual unsigned short readUnsignedShort();
virtual std::wstring readUTF();
void deleteChildStream();
virtual int readUTFChar();
virtual unsigned long long readPlayerUID(); // 4J Added
virtual int64_t skip(int64_t n);
virtual int skipBytes(int n);
};