26 struct WriteBufferInfo {
36 WriteBufferInfo& operator=(WriteBufferInfo
const&);
37 WriteBufferInfo(WriteBufferInfo
const&);
52 FileImpl& operator=(FileImpl
const&);
53 FileImpl(FileImpl
const&);
61 virtual ::Core::PathBuffer<::std::string> _getPath()
const = 0;
63 virtual uint64 _getBlockSize()
const = 0;
65 virtual bool _isOpen() = 0;
67 virtual ::Core::Result _close() = 0;
69 virtual ::Core::Result _read(
void* buf, uint64 numBytes, uint64* pNumBytesRead) = 0;
71 virtual ::Core::Result _readExactly(
void* buf, uint64 numBytes) = 0;
73 virtual ::Core::Result _skip(uint64 numBytes) = 0;
75 virtual ::Core::Result _readAtPosition(uint64 position,
void* buf, uint64 numBytes, uint64* pNumBytesRead) = 0;
77 virtual ::Core::Result _getPosition(uint64* pSizeOut) = 0;
79 virtual ::Core::Result _setPosition(uint64 position) = 0;
81 virtual ::Core::Result _write(
void const* buf, uint64 numBytes) = 0;
83 virtual ::Core::Result _flush() = 0;
85 virtual ::Core::Result _flushToOS();
87 virtual ::Core::Result _getSize(uint64* pSizeOut) = 0;
89 virtual ::Core::Result _getRemainingSize(uint64* pSizeOut) = 0;
105 MCNAPI ::Core::Result
read(
void* buf, uint64 numBytes, uint64* pNumBytesRead);
107 MCNAPI ::Core::Result
readAtPosition(uint64 position,
void* pBuf, uint64 numBytes, uint64* pNumBytesRead);
111 MCNAPI ::Core::Result
write(
void const* pBuf, uint64 numBytes);
117 MCNAPI static ::std::vector<::Core::FileImpl*>&
sAllFiles();