annotate src/win32/7zip/7z/CPP/7zip/Archive/GZip/GZipHandler.h @ 1:f9f4f1b99eed

importing src directory
author Robert McIntyre <rlm@mit.edu>
date Sat, 03 Mar 2012 10:31:27 -0600
parents
children
rev   line source
rlm@1 1 // GZip/Handler.h
rlm@1 2
rlm@1 3 #ifndef __GZIP_HANDLER_H
rlm@1 4 #define __GZIP_HANDLER_H
rlm@1 5
rlm@1 6 #include "Common/MyCom.h"
rlm@1 7
rlm@1 8 #include "../IArchive.h"
rlm@1 9
rlm@1 10 #include "../../Common/CreateCoder.h"
rlm@1 11
rlm@1 12 #include "GZipIn.h"
rlm@1 13 #include "GZipUpdate.h"
rlm@1 14
rlm@1 15 namespace NArchive {
rlm@1 16 namespace NGZip {
rlm@1 17
rlm@1 18 class CHandler:
rlm@1 19 public IInArchive,
rlm@1 20 public IOutArchive,
rlm@1 21 public ISetProperties,
rlm@1 22 PUBLIC_ISetCompressCodecsInfo
rlm@1 23 public CMyUnknownImp
rlm@1 24 {
rlm@1 25 public:
rlm@1 26 MY_QUERYINTERFACE_BEGIN2(IInArchive)
rlm@1 27 MY_QUERYINTERFACE_ENTRY(IOutArchive)
rlm@1 28 MY_QUERYINTERFACE_ENTRY(ISetProperties)
rlm@1 29 QUERY_ENTRY_ISetCompressCodecsInfo
rlm@1 30 MY_QUERYINTERFACE_END
rlm@1 31 MY_ADDREF_RELEASE
rlm@1 32
rlm@1 33 INTERFACE_IInArchive(;)
rlm@1 34 #ifndef EXTRACT_ONLY
rlm@1 35 INTERFACE_IOutArchive(;)
rlm@1 36
rlm@1 37 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties);
rlm@1 38 #endif
rlm@1 39
rlm@1 40 DECL_ISetCompressCodecsInfo
rlm@1 41
rlm@1 42 CHandler() { InitMethodProperties(); }
rlm@1 43
rlm@1 44 private:
rlm@1 45 NArchive::NGZip::CItem m_Item;
rlm@1 46 UInt64 m_StreamStartPosition;
rlm@1 47 UInt64 m_DataOffset;
rlm@1 48 UInt64 m_PackSize;
rlm@1 49 CMyComPtr<IInStream> m_Stream;
rlm@1 50 CCompressionMethodMode m_Method;
rlm@1 51 UInt32 m_Level;
rlm@1 52
rlm@1 53 DECL_EXTERNAL_CODECS_VARS
rlm@1 54
rlm@1 55 void InitMethodProperties()
rlm@1 56 {
rlm@1 57 m_Method.NumMatchFinderCyclesDefined = false;
rlm@1 58 m_Level = m_Method.NumPasses = m_Method.NumFastBytes =
rlm@1 59 m_Method.NumMatchFinderCycles = m_Method.Algo = 0xFFFFFFFF;
rlm@1 60 }
rlm@1 61 };
rlm@1 62
rlm@1 63 }}
rlm@1 64
rlm@1 65 #endif