]> git.cworth.org Git - apitrace/blobdiff - trace_file.cpp
Add code to report parsing/scanning progress.
[apitrace] / trace_file.cpp
index 91114b3290b0a56c09e46b125e59fc836d693ade..517e2219cf70fdd8924d9844dca7a0e14aaf9036 100644 (file)
@@ -113,6 +113,12 @@ bool ZLibFile::rawOpen(const std::string &filename, File::Mode mode)
 {
     m_gzFile = gzopen(filename.c_str(),
                       (mode == File::Write) ? "wb" : "rb");
+
+    if (mode == File::Read && m_gzFile) {
+        m_endOffset = gzseek(m_gzFile, 0, SEEK_END);
+        gzrewind(m_gzFile);
+    }
+
     return m_gzFile != NULL;
 }
 
@@ -154,3 +160,8 @@ bool ZLibFile::rawSkip(size_t)
 {
     return false;
 }
+
+int ZLibFile::rawPercentRead()
+{
+    return 100 * (gztell(m_gzFile) / m_endOffset);
+}