Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/7zip/Archive/Lzma/LzmaHandler.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 // Lzma/Handler.h | |
2 | |
3 #ifndef __GZIP_HANDLER_H | |
4 #define __GZIP_HANDLER_H | |
5 | |
6 #include "Common/MyCom.h" | |
7 | |
8 #include "../IArchive.h" | |
9 #include "../../Common/CreateCoder.h" | |
10 | |
11 #include "LzmaIn.h" | |
12 | |
13 namespace NArchive { | |
14 namespace NLzma { | |
15 | |
16 // const UInt64 k_LZMA = 0x030101; | |
17 | |
18 class CHandler: | |
19 public IInArchive, | |
20 PUBLIC_ISetCompressCodecsInfo | |
21 public CMyUnknownImp | |
22 { | |
23 public: | |
24 MY_QUERYINTERFACE_BEGIN | |
25 MY_QUERYINTERFACE_ENTRY(IInArchive) | |
26 QUERY_ENTRY_ISetCompressCodecsInfo | |
27 MY_QUERYINTERFACE_END | |
28 MY_ADDREF_RELEASE | |
29 | |
30 STDMETHOD(Open)(IInStream *inStream, | |
31 const UInt64 *maxCheckStartPosition, | |
32 IArchiveOpenCallback *openArchiveCallback); | |
33 STDMETHOD(Close)(); | |
34 | |
35 STDMETHOD(GetNumberOfItems)(UInt32 *numItems); | |
36 STDMETHOD(GetProperty)(UInt32 index, PROPID propID, PROPVARIANT *value); | |
37 STDMETHOD(Extract)(const UInt32* indices, UInt32 numItems, | |
38 Int32 testMode, IArchiveExtractCallback *extractCallback); | |
39 | |
40 STDMETHOD(GetArchiveProperty)(PROPID propID, PROPVARIANT *value); | |
41 | |
42 STDMETHOD(GetNumberOfProperties)(UInt32 *numProperties); | |
43 STDMETHOD(GetPropertyInfo)(UInt32 index, | |
44 BSTR *name, PROPID *propID, VARTYPE *varType); | |
45 | |
46 STDMETHOD(GetNumberOfArchiveProperties)(UInt32 *numProperties); | |
47 STDMETHOD(GetArchivePropertyInfo)(UInt32 index, | |
48 BSTR *name, PROPID *propID, VARTYPE *varType); | |
49 | |
50 UString GetMethodString(); | |
51 public: | |
52 CHandler() { } | |
53 | |
54 private: | |
55 CHeader m_StreamInfo; | |
56 UInt64 m_StreamStartPosition; | |
57 UInt64 m_PackSize; | |
58 | |
59 CMyComPtr<IInStream> m_Stream; | |
60 | |
61 DECL_EXTERNAL_CODECS_VARS | |
62 | |
63 DECL_ISetCompressCodecsInfo | |
64 | |
65 }; | |
66 | |
67 }} | |
68 | |
69 #endif |