annotate src/win32/7zip/7z/CPP/7zip/Archive/BZip2/BZip2Handler.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 // BZip2/Handler.h
rlm@1 2
rlm@1 3 #ifndef __BZIP2_HANDLER_H
rlm@1 4 #define __BZIP2_HANDLER_H
rlm@1 5
rlm@1 6 #include "Common/MyCom.h"
rlm@1 7 #include "../IArchive.h"
rlm@1 8 #include "../../Common/CreateCoder.h"
rlm@1 9 #include "BZip2Item.h"
rlm@1 10
rlm@1 11 #ifdef COMPRESS_MT
rlm@1 12 #include "../../../Windows/System.h"
rlm@1 13 #endif
rlm@1 14
rlm@1 15 namespace NArchive {
rlm@1 16 namespace NBZip2 {
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 CMyComPtr<IInStream> _stream;
rlm@1 26 NArchive::NBZip2::CItem _item;
rlm@1 27 UInt64 _streamStartPosition;
rlm@1 28
rlm@1 29 UInt32 _level;
rlm@1 30 UInt32 _dicSize;
rlm@1 31 UInt32 _numPasses;
rlm@1 32 #ifdef COMPRESS_MT
rlm@1 33 UInt32 _numThreads;
rlm@1 34 #endif
rlm@1 35
rlm@1 36 DECL_EXTERNAL_CODECS_VARS
rlm@1 37
rlm@1 38 void InitMethodProperties()
rlm@1 39 {
rlm@1 40 _level = 5;
rlm@1 41 _dicSize =
rlm@1 42 _numPasses = 0xFFFFFFFF;
rlm@1 43 #ifdef COMPRESS_MT
rlm@1 44 _numThreads = NWindows::NSystem::GetNumberOfProcessors();;
rlm@1 45 #endif
rlm@1 46 }
rlm@1 47
rlm@1 48 public:
rlm@1 49 MY_QUERYINTERFACE_BEGIN2(IInArchive)
rlm@1 50 MY_QUERYINTERFACE_ENTRY(IOutArchive)
rlm@1 51 MY_QUERYINTERFACE_ENTRY(ISetProperties)
rlm@1 52 QUERY_ENTRY_ISetCompressCodecsInfo
rlm@1 53 MY_QUERYINTERFACE_END
rlm@1 54 MY_ADDREF_RELEASE
rlm@1 55
rlm@1 56 INTERFACE_IInArchive(;)
rlm@1 57 #ifndef EXTRACT_ONLY
rlm@1 58 INTERFACE_IOutArchive(;)
rlm@1 59
rlm@1 60 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties);
rlm@1 61 #endif
rlm@1 62
rlm@1 63 DECL_ISetCompressCodecsInfo
rlm@1 64
rlm@1 65 CHandler() { InitMethodProperties(); }
rlm@1 66 };
rlm@1 67
rlm@1 68 }}
rlm@1 69
rlm@1 70 #endif