|
#pragma once
|
|
|
|
|
|
#include "SevenZipLibrary.h"
|
|
#include "SevenZipArchive.h"
|
|
#include "CompressionFormat.h"
|
|
#include "ProgressCallback.h"
|
|
|
|
|
|
namespace SevenZip
|
|
{
|
|
class SevenZipExtractor : public SevenZipArchive
|
|
{
|
|
public:
|
|
|
|
SevenZipExtractor( const SevenZipLibrary& library, const TString& archivePath );
|
|
virtual ~SevenZipExtractor();
|
|
|
|
virtual bool ExtractArchive(const TString& directory, ProgressCallback* callback);
|
|
virtual bool ExtractFilesFromArchive(const unsigned int* fileIndices, const unsigned int numberFiles, const TString& directory, ProgressCallback* callback);
|
|
private:
|
|
|
|
bool ExtractFilesFromArchive(const CComPtr< IStream >& archiveStream, const unsigned int* fileIndices, const unsigned int numberFiles, const TString& directory, ProgressCallback* callback);
|
|
};
|
|
}
|