diff options
author | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2015-06-09 16:04:24 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2015-06-10 08:15:38 +0000 |
commit | 4677d362982a38c6e2aabb667e33aaa7f921f018 (patch) | |
tree | fe3b676288f05a87cdbb53a170e815427e3d9380 /src/libs/installer/unziptask.cpp | |
parent | 22ec6aa53e44069c03c7baf94881949c7a4facff (diff) |
Update source tree with version 9.38.beta of LZMA SDK.
- Remove unused files.
- Split in .pri files.
- Add HEADERS section.
- Adjust lib7z_facade.
Change-Id: I31e7bafbfe1a9346364bd58c391601955f98ad3a
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'src/libs/installer/unziptask.cpp')
-rw-r--r-- | src/libs/installer/unziptask.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/libs/installer/unziptask.cpp b/src/libs/installer/unziptask.cpp index 68538ddf5..ac76431f1 100644 --- a/src/libs/installer/unziptask.cpp +++ b/src/libs/installer/unziptask.cpp @@ -31,7 +31,9 @@ ** $QT_END_LICENSE$ ** **************************************************************************/ + #include "unziptask.h" +#include "lib7z_facade.h" #ifdef Q_OS_UNIX # include "StdAfx.h" @@ -40,21 +42,15 @@ // TODO: include once we switch from lib7z_fascade.h //#include "Common/MyInitGuid.h" -#include "7zip/IPassword.h" +#include "7zip/Archive/IArchive.h" #include "7zip/Common/FileStreams.h" #include "7zip/UI/Common/OpenArchive.h" #include "Windows/FileDir.h" #include "Windows/PropVariant.h" -#include "7zCrc.h" - #include <QDir> -void registerArc7z(); -void registerCodecLZMA(); -void registerCodecLZMA2(); - namespace QInstaller { class ArchiveExtractCallback : public IArchiveExtractCallback, public CMyUnknownImp @@ -105,11 +101,11 @@ public: return E_FAIL; bool isDir = false; - if (IsArchiveItemFolder(m_arc.Archive, m_currentIndex, isDir) != S_OK) + if (Archive_IsItem_Folder(m_arc.Archive, m_currentIndex, isDir) != S_OK) return E_FAIL; bool isEncrypted = false; - if (GetArchiveItemBoolProp(m_arc.Archive, m_currentIndex, kpidEncrypted, isEncrypted) != S_OK) + if (Archive_GetItemBoolProp(m_arc.Archive, m_currentIndex, kpidEncrypted, isEncrypted) != S_OK) return E_FAIL; if (isDir || isEncrypted) @@ -155,7 +151,7 @@ public: default: // fall through and bail case NArchive::NExtract::NOperationResult::kCRCError: case NArchive::NExtract::NOperationResult::kDataError: - case NArchive::NExtract::NOperationResult::kUnSupportedMethod: + case NArchive::NExtract::NOperationResult::kUnsupportedMethod: m_outFileStream->Close(); m_outFileStreamComPtr.Release(); return E_FAIL; @@ -163,7 +159,7 @@ public: UInt32 attributes; if (GetAttributes(&attributes)) - NWindows::NFile::NDirectory::MySetFileAttributes((wchar_t*)(m_currentTarget.utf16()), attributes); + NWindows::NFile::NDir::SetFileAttrib((wchar_t*)(m_currentTarget.utf16()), attributes); FILETIME accessTime, creationTime, modificationTime; const bool writeAccessTime = GetTime(kpidATime, &accessTime); @@ -240,13 +236,7 @@ UnzipTask::UnzipTask(const QString &source, const QString &target) : m_source(source) , m_target(target) { - { - CrcGenerateTable(); - - registerArc7z(); - registerCodecLZMA(); - registerCodecLZMA2(); - } + Lib7z::initSevenZ(); } void UnzipTask::doTask(QFutureInterface<QString> &fi) @@ -257,19 +247,29 @@ void UnzipTask::doTask(QFutureInterface<QString> &fi) if (codecs.Load() != S_OK) return; - CIntVector formatIndices; - if (!codecs.FindFormatForArchiveType(L"", formatIndices)) - return; - CInFileStream *fileStream = new CInFileStream; + COpenOptions op; + op.codecs = &codecs; + + CObjectVector<COpenType> types; + op.types = &types; // Empty, because we use a stream. + + CIntVector excluded; + op.excludedFormats = &excluded; + + const CMyComPtr<CInFileStream> fileStream = new CInFileStream; fileStream->Open((wchar_t*) (m_source.utf16())); + op.stream = fileStream; // CMyComPtr is needed, otherwise it crashes in OpenStream(). + + CObjectVector<CProperty> properties; + op.props = &properties; CArchiveLink archiveLink; - if (archiveLink.Open2(&codecs, formatIndices, false, fileStream, UString(), 0) != S_OK) + if (archiveLink.Open2(op, nullptr) != S_OK) return; UINT32 count = 0; - for (int i = 0; i < archiveLink.Arcs.Size(); ++i) { + for (unsigned i = 0; i < archiveLink.Arcs.Size(); ++i) { const CArc& arc = archiveLink.Arcs[i]; UInt32 numItems = 0; if (arc.Archive->GetNumberOfItems(&numItems) != S_OK) @@ -278,7 +278,7 @@ void UnzipTask::doTask(QFutureInterface<QString> &fi) } fi.setExpectedResultCount(count); - for (int i = 0; i < archiveLink.Arcs.Size(); ++i) { + for (unsigned i = 0; i < archiveLink.Arcs.Size(); ++i) { if (fi.isCanceled()) break; if (fi.isPaused()) |