X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=trace_writer.cpp;h=5a5f1f7d2400b13784fd9dedcc7421593c1e304f;hb=081e59db6cf60b3b39d6b6ce58b4a1b2ff96020e;hp=fc47f0d3682d4c8af4f10352f6096abaa480510a;hpb=52f0c2507638fb623088c9def5b2cc0bf652478e;p=apitrace diff --git a/trace_writer.cpp b/trace_writer.cpp index fc47f0d..5a5f1f7 100644 --- a/trace_writer.cpp +++ b/trace_writer.cpp @@ -30,10 +30,9 @@ #include #include -#include - #include "os.hpp" #include "trace_writer.hpp" +#include "trace_snappyfile.hpp" #include "trace_format.hpp" @@ -41,30 +40,29 @@ namespace Trace { Writer::Writer() : - g_gzFile(NULL), call_no(0) { + m_file = new Trace::SnappyFile; close(); -}; +} -Writer::~Writer() { +Writer::~Writer() +{ close(); -}; + delete m_file; + m_file = NULL; +} void Writer::close(void) { - if (g_gzFile != NULL) { - gzclose(g_gzFile); - g_gzFile = NULL; - } + m_file->close(); } bool Writer::open(const char *filename) { close(); - g_gzFile = gzopen(filename, "wb"); - if (!g_gzFile) { + if (!m_file->open(filename, File::Write)) { return false; } @@ -81,10 +79,7 @@ Writer::open(const char *filename) { void inline Writer::_write(const void *sBuffer, size_t dwBytesToWrite) { - if (g_gzFile == NULL) - return; - - gzwrite(g_gzFile, sBuffer, dwBytesToWrite); + m_file->write(sBuffer, dwBytesToWrite); } void inline