| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- // Extract.h
- #ifndef __EXTRACT_H
- #define __EXTRACT_H
- #include "Common/Wildcard.h"
- #include "Windows/FileFind.h"
- #include "../../Archive/IArchive.h"
- #include "ArchiveExtractCallback.h"
- #include "ArchiveOpenCallback.h"
- #include "ExtractMode.h"
- #include "Property.h"
- #include "../Common/LoadCodecs.h"
- class CExtractOptions
- {
- public:
- bool StdOutMode;
- bool TestMode;
- NExtract::NPathMode::EEnum PathMode;
- UString OutputDir;
- bool YesToAll;
- UString DefaultItemName;
- NWindows::NFile::NFind::CFileInfoW ArchiveFileInfo;
-
- // bool ShowDialog;
- // bool PasswordEnabled;
- // UString Password;
- #ifdef COMPRESS_MT
- CObjectVector<CProperty> Properties;
- #endif
- NExtract::NOverwriteMode::EEnum OverwriteMode;
- #ifdef EXTERNAL_CODECS
- CCodecs *Codecs;
- #endif
- CExtractOptions():
- StdOutMode(false),
- YesToAll(false),
- TestMode(false),
- PathMode(NExtract::NPathMode::kFullPathnames),
- OverwriteMode(NExtract::NOverwriteMode::kAskBefore)
- {}
- /*
- bool FullPathMode() const { return (ExtractMode == NExtractMode::kTest) ||
- (ExtractMode == NExtractMode::kFullPath); }
- */
- };
- struct CDecompressStat
- {
- UInt64 NumArchives;
- UInt64 UnpackSize;
- UInt64 PackSize;
- UInt64 NumFolders;
- UInt64 NumFiles;
- void Clear() { NumArchives = PackSize = UnpackSize = NumFolders = NumFiles = 0; }
- };
- HRESULT DecompressArchives(
- CCodecs *codecs,
- UStringVector &archivePaths, UStringVector &archivePathsFull,
- const NWildcard::CCensorNode &wildcardCensor,
- const CExtractOptions &options,
- IOpenCallbackUI *openCallback,
- IExtractCallbackUI *extractCallback,
- UString &errorMessage,
- CDecompressStat &stat);
- #endif
|