1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// HandlerOut.h 2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#ifndef __HANDLER_OUT_H 4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define __HANDLER_OUT_H 5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "../../Common/MethodProps.h" 7baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 8baa3858d3f5d128a5c8466b700098109edcad5f2repo syncnamespace NArchive { 9baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 10cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbeckyclass CMultiMethodProps 11baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{ 12cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky UInt32 _level; 13baa3858d3f5d128a5c8466b700098109edcad5f2repo syncpublic: 14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #ifndef _7ZIP_ST 15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 _numThreads; 16cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky UInt32 _numProcessors; 17baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #endif 18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 19baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 _crcSize; 20baa3858d3f5d128a5c8466b700098109edcad5f2repo sync CObjectVector<COneMethodInfo> _methods; 21cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky COneMethodInfo _filterMethod; 22baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _autoFilter; 23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 24cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky void SetGlobalLevelAndThreads(COneMethodInfo &oneMethodInfo 25baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #ifndef _7ZIP_ST 26baa3858d3f5d128a5c8466b700098109edcad5f2repo sync , UInt32 numThreads 27baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #endif 28baa3858d3f5d128a5c8466b700098109edcad5f2repo sync ); 29baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 30cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky unsigned GetNumEmptyMethods() const 31baa3858d3f5d128a5c8466b700098109edcad5f2repo sync { 32cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky unsigned i; 33cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky for (i = 0; i < _methods.Size(); i++) 34cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky if (!_methods[i].IsEmpty()) 35cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky break; 36cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky return i; 37baa3858d3f5d128a5c8466b700098109edcad5f2repo sync } 38baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 39cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky int GetLevel() const { return _level == (UInt32)(Int32)-1 ? 5 : (int)_level; } 40cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky 41baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void Init(); 42baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 43cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky CMultiMethodProps() { Init(); } 44cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky HRESULT SetProperty(const wchar_t *name, const PROPVARIANT &value); 45cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky}; 46baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 47cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbeckyclass CSingleMethodProps: public COneMethodInfo 48cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky{ 49cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky UInt32 _level; 50cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky 51cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbeckypublic: 52cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky #ifndef _7ZIP_ST 53cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky UInt32 _numThreads; 54cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky UInt32 _numProcessors; 55cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky #endif 56baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 57cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky void Init(); 58cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky CSingleMethodProps() { Init(); } 59cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky int GetLevel() const { return _level == (UInt32)(Int32)-1 ? 5 : (int)_level; } 60cd66d540cead3f8200b0c73bad9c276d67896c3dDavid Srbecky HRESULT SetProperties(const wchar_t **names, const PROPVARIANT *values, UInt32 numProps); 61baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}; 62baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 63baa3858d3f5d128a5c8466b700098109edcad5f2repo sync} 64baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 65baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#endif 66