fs/io/FileReader: add methods GetSize(), GetPosition()

This commit is contained in:
Max Kellermann 2016-08-27 12:20:59 +02:00
parent d15f64ae5d
commit 889be6e29d

View File

@ -89,6 +89,32 @@ public:
gcc_pure
FileInfo GetFileInfo() const;
gcc_pure
uint64_t GetSize() const {
#ifdef WIN32
LARGE_INTEGER size;
return GetFileSizeEx(handle, &size)
? size.QuadPart
: 0;
#else
return fd.GetSize();
#endif
}
gcc_pure
uint64_t GetPosition() const {
#ifdef WIN32
LARGE_INTEGER zero;
zero.QuadPart = 0;
LARGE_INTEGER position;
return SetFilePointerEx(handle, zero, &position, FILE_CURRENT)
? position.QuadPart
: 0;
#else
return fd.Tell();
#endif
}
void Rewind() {
Seek(0);
}