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