6 #include "Common/Wildcard.h"
7 #include "Windows/FileFind.h"
9 #include "../../Archive/IArchive.h"
11 #include "ArchiveExtractCallback.h"
12 #include "ArchiveOpenCallback.h"
13 #include "ExtractMode.h"
16 #include "../Common/LoadCodecs.h"
23 NExtract::NPathMode::EEnum PathMode;
27 UString DefaultItemName;
28 NWindows::NFile::NFind::CFileInfoW ArchiveFileInfo;
31 // bool PasswordEnabled;
34 CObjectVector<CProperty> Properties;
37 NExtract::NOverwriteMode::EEnum OverwriteMode;
39 #ifdef EXTERNAL_CODECS
47 PathMode(NExtract::NPathMode::kFullPathnames),
48 OverwriteMode(NExtract::NOverwriteMode::kAskBefore)
52 bool FullPathMode() const { return (ExtractMode == NExtractMode::kTest) ||
53 (ExtractMode == NExtractMode::kFullPath); }
57 struct CDecompressStat
64 void Clear() { NumArchives = PackSize = UnpackSize = NumFolders = NumFiles = 0; }
67 HRESULT DecompressArchives(
69 UStringVector &archivePaths, UStringVector &archivePathsFull,
70 const NWildcard::CCensorNode &wildcardCensor,
71 const CExtractOptions &options,
72 IOpenCallbackUI *openCallback,
73 IExtractCallbackUI *extractCallback,
74 UString &errorMessage,
75 CDecompressStat &stat);