rlm@1: // Archive/GZipIn.h rlm@1: rlm@1: #ifndef __ARCHIVE_GZIP_IN_H rlm@1: #define __ARCHIVE_GZIP_IN_H rlm@1: rlm@1: #include "GZipHeader.h" rlm@1: #include "GZipItem.h" rlm@1: #include "../../IStream.h" rlm@1: rlm@1: namespace NArchive { rlm@1: namespace NGZip { rlm@1: rlm@1: class CInArchive rlm@1: { rlm@1: UInt64 m_Position; rlm@1: rlm@1: HRESULT ReadBytes(ISequentialInStream *inStream, void *data, UInt32 size); rlm@1: HRESULT ReadZeroTerminatedString(ISequentialInStream *inStream, AString &resString, UInt32 &crc); rlm@1: HRESULT ReadByte(ISequentialInStream *inStream, Byte &value, UInt32 &crc); rlm@1: HRESULT ReadUInt16(ISequentialInStream *inStream, UInt16 &value, UInt32 &crc); rlm@1: HRESULT ReadUInt32(ISequentialInStream *inStream, UInt32 &value, UInt32 &crc); rlm@1: public: rlm@1: HRESULT ReadHeader(ISequentialInStream *inStream, CItem &item); rlm@1: HRESULT ReadPostHeader(ISequentialInStream *inStream, CItem &item); rlm@1: UInt64 GetOffset() const { return m_Position; } rlm@1: }; rlm@1: rlm@1: }} rlm@1: rlm@1: #endif