64 virtual ::Core::PathBuffer<::std::string> _getPath()
const = 0;
67 virtual uint64 _getBlockSize()
const = 0;
70 virtual bool _isOpen() = 0;
73 virtual ::Core::Result _close() = 0;
76 virtual ::Core::Result _read(
void*, uint64, uint64*) = 0;
79 virtual ::Core::Result _readExactly(
void*, uint64) = 0;
82 virtual ::Core::Result _skip(uint64) = 0;
85 virtual ::Core::Result _readAtPosition(uint64,
void*, uint64, uint64*) = 0;
88 virtual ::Core::Result _getPosition(uint64*) = 0;
91 virtual ::Core::Result _setPosition(uint64) = 0;
94 virtual ::Core::Result _write(
void const*, uint64) = 0;
97 virtual ::Core::Result _flush() = 0;
100 virtual ::Core::Result _getSize(uint64*) = 0;
103 virtual ::Core::Result _getRemainingSize(uint64*) = 0;
111 MCAPI ::Bedrock::Threading::UniqueLock<::std::recursive_mutex> _lockIfWriteBuffered(
bool flushBuffer);
113 MCAPI ::Core::Result _writeOperation(
::Core::Result&& result, uint64 numBytesWritten);
115 MCAPI ::Core::Result close();
117 MCAPI ::Core::Result getPosition(uint64* pPosition);
119 MCAPI ::Core::Result read(
void* buf, uint64 numBytes, uint64* pNumBytesRead);
121 MCAPI ::Core::Result readAtPosition(uint64 position,
void* pBuf, uint64 numBytes, uint64* pNumBytesRead);
123 MCAPI ::Core::Result readExactly(
void* buf, uint64 numBytes);
125 MCAPI ::Core::Result setPosition(uint64 position);
127 MCAPI ::Core::Result skip(uint64 numBytes);
129 MCAPI ::Core::Result write(
void const* pBuf, uint64 numBytes);
135 MCAPI static ::std::vector<::Core::FileImpl*>& sAllFiles();
137 MCAPI static ::Bedrock::Threading::Mutex& sAllFilesLock();
161 MCAPI
static void** $vftable();