7ffa8e4aa8614177751743380ce1cfe3961784c8
[physicsfs] / lzma / CPP / 7zip / Common / MethodProps.h
1 // MethodProps.h
2
3 #ifndef __7Z_METHOD_PROPS_H
4 #define __7Z_METHOD_PROPS_H
5
6 #include "MethodId.h"
7
8 #include "../../Windows/PropVariant.h"
9 #include "../../Common/MyVector.h"
10 #include "../ICoder.h"
11
12 struct CProp
13 {
14   PROPID Id;
15   NWindows::NCOM::CPropVariant Value;
16 };
17
18 struct CMethod
19 {
20   CMethodId Id;
21   CObjectVector<CProp> Properties;
22 };
23
24 struct CMethodsMode
25 {
26   CObjectVector<CMethod> Methods;
27   #ifdef COMPRESS_MT
28   UInt32 NumThreads;
29   #endif
30
31   CMethodsMode()
32       #ifdef COMPRESS_MT
33       : NumThreads(1) 
34       #endif
35   {}
36   bool IsEmpty() const { return Methods.IsEmpty() ; }
37 };
38
39 HRESULT SetMethodProperties(const CMethod &method, const UInt64 *inSizeForReduce, IUnknown *coder);
40
41 #endif