Source code

Revision control

Copy as Markdown

Other Tools

// Extract.h↩
#ifndef __EXTRACT_H↩
#define __EXTRACT_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"
struct CExtractOptionsBase↩
{↩
CBoolPair ElimDup;↩
bool PathMode_Force;↩
bool OverwriteMode_Force;↩
NExtract::NPathMode::EEnum PathMode;↩
NExtract::NOverwriteMode::EEnum OverwriteMode;↩
FString OutputDir;↩
CExtractNtOptions NtOptions;↩
CExtractOptionsBase():↩
PathMode_Force(false),↩
OverwriteMode_Force(false),↩
PathMode(NExtract::NPathMode::kFullPaths),↩
OverwriteMode(NExtract::NOverwriteMode::kAsk)↩
{}↩
};↩
struct CExtractOptions: public CExtractOptionsBase↩
{↩
bool StdInMode;↩
bool StdOutMode;↩
bool YesToAll;↩
bool TestMode;↩
// bool ShowDialog;↩
// bool PasswordEnabled;↩
// UString Password;↩
#ifndef _SFX↩
CObjectVector<CProperty> Properties;↩
#endif
#ifdef EXTERNAL_CODECS↩
CCodecs *Codecs;↩
#endif
CExtractOptions():↩
TestMode(false),↩
StdInMode(false),↩
StdOutMode(false),↩
YesToAll(false)↩
{}↩
};↩
struct CDecompressStat↩
{↩
UInt64 NumArchives;↩
UInt64 UnpackSize;↩
UInt64 AltStreams_UnpackSize;↩
UInt64 PackSize;↩
UInt64 NumFolders;↩
UInt64 NumFiles;↩
UInt64 NumAltStreams;↩
void Clear()↩
{↩
NumArchives = UnpackSize = AltStreams_UnpackSize = PackSize = NumFolders = NumFiles = NumAltStreams = 0;↩
}↩
};↩
HRESULT Extract(↩
CCodecs *codecs,↩
const CObjectVector<COpenType> &types,↩
const CIntVector &excludedFormats,↩
UStringVector &archivePaths, UStringVector &archivePathsFull,↩
const NWildcard::CCensorNode &wildcardCensor,↩
const CExtractOptions &options,↩
IOpenCallbackUI *openCallback,↩
IExtractCallbackUI *extractCallback,↩
#ifndef _SFX↩
IHashCalc *hash,↩
#endif
UString &errorMessage,↩
CDecompressStat &st);↩
#endif