X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=trace_file.hpp;h=5a98f606ce32bb5f0204d4c614adae21cbe1c050;hb=3c70dbfb4ca01d92172f87109ba995f6db5f7835;hp=fc42e9b9e7f27ccdc0685d7833d14077bfd99272;hpb=124cd34846abf59579fe7cbd819a3a719a07a29f;p=apitrace diff --git a/trace_file.hpp b/trace_file.hpp index fc42e9b..5a98f60 100644 --- a/trace_file.hpp +++ b/trace_file.hpp @@ -1,3 +1,29 @@ +/************************************************************************** + * + * Copyright 2011 Zack Rusin + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + **************************************************************************/ + + #ifndef TRACE_FILE_HPP #define TRACE_FILE_HPP @@ -12,10 +38,6 @@ public: Read, Write }; - enum FlushType { - FlushShallow, - FlushDeep - }; public: static bool isZLibCompressed(const std::string &filename); static bool isSnappyCompressed(const std::string &filename); @@ -33,7 +55,7 @@ public: bool write(const void *buffer, int length); bool read(void *buffer, int length); void close(); - void flush(FlushType type = FlushShallow); + void flush(void); int getc(); protected: @@ -42,7 +64,7 @@ protected: virtual bool rawRead(void *buffer, int length) = 0; virtual int rawGetc() = 0; virtual void rawClose() = 0; - virtual void rawFlush(FlushType type) = 0; + virtual void rawFlush() = 0; protected: std::string m_filename; @@ -100,15 +122,15 @@ inline void File::close() } } -inline void File::flush(File::FlushType type) +inline void File::flush(void) { - rawFlush(type); + rawFlush(); } inline int File::getc() { if (!m_isOpened || m_mode != File::Read) { - return 0; + return -1; } return rawGetc(); } @@ -125,7 +147,7 @@ protected: virtual bool rawRead(void *buffer, int length); virtual int rawGetc(); virtual void rawClose(); - virtual void rawFlush(FlushType type); + virtual void rawFlush(); private: void *m_gzFile; };