}
-File::Offset File::currentOffset()
-{
- return File::Offset();
-}
-
void File::setCurrentOffset(const File::Offset &offset)
{
}
gzflush(m_gzFile, Z_SYNC_FLUSH);
}
+File::Offset ZLibFile::currentOffset()
+{
+ return File::Offset(gztell(m_gzFile));
+}
bool ZLibFile::supportsOffsets() const
{
Write
};
struct Offset {
- Offset()
- : chunk(0),
- offsetInChunk(0)
+ Offset(uint64_t _chunk = 0, uint32_t _offsetInChunk = 0)
+ : chunk(_chunk),
+ offsetInChunk(_offsetInChunk)
{}
uint64_t chunk;
uint32_t offsetInChunk;
int percentRead();
virtual bool supportsOffsets() const = 0;
- virtual File::Offset currentOffset();
+ virtual File::Offset currentOffset() = 0;
virtual void setCurrentOffset(const File::Offset &offset);
protected:
virtual bool rawOpen(const std::string &filename, File::Mode mode) = 0;
virtual bool supportsOffsets() const;
+ virtual File::Offset currentOffset();
protected:
virtual bool rawOpen(const std::string &filename, File::Mode mode);
virtual bool rawWrite(const void *buffer, size_t length);