diff -r 5f819b90d479 -r 99b265e0d1d0 misc/libphysfs/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h --- a/misc/libphysfs/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h Thu Oct 11 23:43:31 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +0,0 @@ -// ArchiveExtractCallback.h - -#ifndef __ARCHIVEEXTRACTCALLBACK_H -#define __ARCHIVEEXTRACTCALLBACK_H - -#include "../../Archive/IArchive.h" -#include "IFileExtractCallback.h" - -#include "Common/MyString.h" -#include "Common/MyCom.h" - -#include "../../Common/FileStreams.h" -#include "../../Common/ProgressUtils.h" -#include "../../IPassword.h" - -#include "ExtractMode.h" - -class CArchiveExtractCallback: - public IArchiveExtractCallback, - // public IArchiveVolumeExtractCallback, - public ICryptoGetTextPassword, - public ICompressProgressInfo, - public CMyUnknownImp -{ -public: - MY_UNKNOWN_IMP2(ICryptoGetTextPassword, ICompressProgressInfo) - // COM_INTERFACE_ENTRY(IArchiveVolumeExtractCallback) - - // IProgress - STDMETHOD(SetTotal)(UInt64 size); - STDMETHOD(SetCompleted)(const UInt64 *completeValue); - STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize); - - // IExtractCallBack - STDMETHOD(GetStream)(UInt32 index, ISequentialOutStream **outStream, Int32 askExtractMode); - STDMETHOD(PrepareOperation)(Int32 askExtractMode); - STDMETHOD(SetOperationResult)(Int32 resultEOperationResult); - - // IArchiveVolumeExtractCallback - // STDMETHOD(GetInStream)(const wchar_t *name, ISequentialInStream **inStream); - - // ICryptoGetTextPassword - STDMETHOD(CryptoGetTextPassword)(BSTR *aPassword); - -private: - CMyComPtr _archiveHandler; - CMyComPtr _extractCallback2; - CMyComPtr _compressProgress; - CMyComPtr _cryptoGetTextPassword; - UString _directoryPath; - NExtract::NPathMode::EEnum _pathMode; - NExtract::NOverwriteMode::EEnum _overwriteMode; - - UString _filePath; - UInt64 _position; - bool _isSplit; - - UString _diskFilePath; - - bool _extractMode; - - bool WriteModified; - bool WriteCreated; - bool WriteAccessed; - - bool _encrypted; - - struct CProcessedFileInfo - { - FILETIME CreationTime; - FILETIME LastWriteTime; - FILETIME LastAccessTime; - UInt32 Attributes; - - bool IsCreationTimeDefined; - bool IsLastWriteTimeDefined; - bool IsLastAccessTimeDefined; - - bool IsDirectory; - bool AttributesAreDefined; - } _processedFileInfo; - - UInt64 _curSize; - COutFileStream *_outFileStreamSpec; - CMyComPtr _outFileStream; - UStringVector _removePathParts; - - UString _itemDefaultName; - FILETIME _utcLastWriteTimeDefault; - UInt32 _attributesDefault; - bool _stdOutMode; - - void CreateComplexDirectory(const UStringVector &dirPathParts, UString &fullPath); - HRESULT GetTime(int index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined); -public: - CArchiveExtractCallback(): - WriteModified(true), - WriteCreated(false), - WriteAccessed(false), - _multiArchives(false) - { - LocalProgressSpec = new CLocalProgress(); - _localProgress = LocalProgressSpec; - } - - CLocalProgress *LocalProgressSpec; - CMyComPtr _localProgress; - UInt64 _packTotal; - UInt64 _unpTotal; - - bool _multiArchives; - UInt64 NumFolders; - UInt64 NumFiles; - UInt64 UnpackSize; - - void InitForMulti(bool multiArchives, - NExtract::NPathMode::EEnum pathMode, - NExtract::NOverwriteMode::EEnum overwriteMode) - { - _multiArchives = multiArchives; NumFolders = NumFiles = UnpackSize = 0; - _pathMode = pathMode; - _overwriteMode = overwriteMode; - } - - void Init( - IInArchive *archiveHandler, - IFolderArchiveExtractCallback *extractCallback2, - bool stdOutMode, - const UString &directoryPath, - const UStringVector &removePathParts, - const UString &itemDefaultName, - const FILETIME &utcLastWriteTimeDefault, - UInt32 attributesDefault, - UInt64 packSize); - - UInt64 _numErrors; -}; - -#endif