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