misc/libphysfs/lzma/CPP/7zip/Archive/Common/HandlerOut.h
branchui-scaling
changeset 15283 c4fd2813b127
parent 13390 0135e64c6c66
parent 15279 7ab5cf405686
child 15663 d92eeb468dad
equal deleted inserted replaced
13390:0135e64c6c66 15283:c4fd2813b127
     1 // HandlerOut.h
       
     2 
       
     3 #ifndef __HANDLER_OUT_H
       
     4 #define __HANDLER_OUT_H
       
     5 
       
     6 #include "../../Common/MethodProps.h"
       
     7 #include "../../Common/CreateCoder.h"
       
     8 
       
     9 namespace NArchive {
       
    10 
       
    11 struct COneMethodInfo
       
    12 {
       
    13   CObjectVector<CProp> Properties;
       
    14   UString MethodName;
       
    15 };
       
    16 
       
    17 class COutHandler
       
    18 {
       
    19 public:
       
    20   HRESULT SetProperty(const wchar_t *name, const PROPVARIANT &value);
       
    21   
       
    22   HRESULT SetSolidSettings(const UString &s);
       
    23   HRESULT SetSolidSettings(const PROPVARIANT &value);
       
    24 
       
    25   #ifdef COMPRESS_MT
       
    26   UInt32 _numThreads;
       
    27   #endif
       
    28 
       
    29   UInt32 _crcSize;
       
    30 
       
    31   CObjectVector<COneMethodInfo> _methods;
       
    32   bool _removeSfxBlock;
       
    33   
       
    34   UInt64 _numSolidFiles; 
       
    35   UInt64 _numSolidBytes;
       
    36   bool _numSolidBytesDefined;
       
    37   bool _solidExtension;
       
    38 
       
    39   bool _compressHeaders;
       
    40   bool _encryptHeaders;
       
    41 
       
    42   bool WriteModified;
       
    43   bool WriteCreated;
       
    44   bool WriteAccessed;
       
    45 
       
    46   bool _autoFilter;
       
    47   UInt32 _level;
       
    48 
       
    49   bool _volumeMode;
       
    50 
       
    51   HRESULT SetParam(COneMethodInfo &oneMethodInfo, const UString &name, const UString &value);
       
    52   HRESULT SetParams(COneMethodInfo &oneMethodInfo, const UString &srcString);
       
    53 
       
    54   void SetCompressionMethod2(COneMethodInfo &oneMethodInfo
       
    55       #ifdef COMPRESS_MT
       
    56       , UInt32 numThreads
       
    57       #endif
       
    58       );
       
    59 
       
    60   void InitSolidFiles() { _numSolidFiles = (UInt64)(Int64)(-1); }
       
    61   void InitSolidSize()  { _numSolidBytes = (UInt64)(Int64)(-1); }
       
    62   void InitSolid()
       
    63   {
       
    64     InitSolidFiles();
       
    65     InitSolidSize();
       
    66     _solidExtension = false;
       
    67     _numSolidBytesDefined = false;
       
    68   }
       
    69 
       
    70   void Init();
       
    71 
       
    72   COutHandler() { Init(); }
       
    73 
       
    74   void BeforeSetProperty();
       
    75 
       
    76   UInt32 minNumber;
       
    77   UInt32 numProcessors;
       
    78   UInt32 mainDicSize;
       
    79   UInt32 mainDicMethodIndex;
       
    80 
       
    81   DECL_EXTERNAL_CODECS_VARS
       
    82 };
       
    83 
       
    84 }
       
    85 
       
    86 #endif