aboutsummaryrefslogtreecommitdiff
path: root/CPP/7zip/Compress/XzEncoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/Compress/XzEncoder.h')
-rw-r--r--CPP/7zip/Compress/XzEncoder.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/CPP/7zip/Compress/XzEncoder.h b/CPP/7zip/Compress/XzEncoder.h
new file mode 100644
index 0000000..ea5190e
--- /dev/null
+++ b/CPP/7zip/Compress/XzEncoder.h
@@ -0,0 +1,46 @@
1// XzEncoder.h
2
3#ifndef __XZ_ENCODER_H
4#define __XZ_ENCODER_H
5
6#include "../../../C/XzEnc.h"
7
8#include "../../Common/MyCom.h"
9
10#include "../ICoder.h"
11
12namespace NCompress {
13namespace NXz {
14
15
16class CEncoder:
17 public ICompressCoder,
18 public ICompressSetCoderProperties,
19 public ICompressSetCoderPropertiesOpt,
20 public CMyUnknownImp
21{
22 CXzEncHandle _encoder;
23public:
24 CXzProps xzProps;
25
26 MY_UNKNOWN_IMP3(
27 ICompressCoder,
28 ICompressSetCoderProperties,
29 ICompressSetCoderPropertiesOpt)
30
31 void InitCoderProps();
32 HRESULT SetCheckSize(UInt32 checkSizeInBytes);
33 HRESULT SetCoderProp(PROPID propID, const PROPVARIANT &prop);
34
35 STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
36 const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
37 STDMETHOD(SetCoderProperties)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
38 STDMETHOD(SetCoderPropertiesOpt)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
39
40 CEncoder();
41 virtual ~CEncoder();
42};
43
44}}
45
46#endif