Index: third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdateCallback.cpp |
diff --git a/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdateCallback.cpp b/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdateCallback.cpp |
deleted file mode 100644 |
index dcca2a1a7242196523424ed08f80b411e1c02c5a..0000000000000000000000000000000000000000 |
--- a/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdateCallback.cpp |
+++ /dev/null |
@@ -1,242 +0,0 @@ |
-// UpdateCallback.cpp |
- |
-#include "StdAfx.h" |
- |
-#include "UpdateCallback.h" |
- |
-#include "Common/StringConvert.h" |
-#include "Common/IntToString.h" |
-#include "Common/Defs.h" |
-#include "Common/ComTry.h" |
- |
-#include "Windows/PropVariant.h" |
- |
-#include "../../Common/FileStreams.h" |
- |
-using namespace NWindows; |
- |
-CArchiveUpdateCallback::CArchiveUpdateCallback(): |
- Callback(0), |
- ShareForWrite(false), |
- StdInMode(false), |
- DirItems(0), |
- ArcItems(0), |
- UpdatePairs(0), |
- NewNames(0) |
- {} |
- |
- |
-STDMETHODIMP CArchiveUpdateCallback::SetTotal(UInt64 size) |
-{ |
- COM_TRY_BEGIN |
- return Callback->SetTotal(size); |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::SetCompleted(const UInt64 *completeValue) |
-{ |
- COM_TRY_BEGIN |
- return Callback->SetCompleted(completeValue); |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::SetRatioInfo(const UInt64 *inSize, const UInt64 *outSize) |
-{ |
- COM_TRY_BEGIN |
- return Callback->SetRatioInfo(inSize, outSize); |
- COM_TRY_END |
-} |
- |
- |
-/* |
-STATPROPSTG kProperties[] = |
-{ |
- { NULL, kpidPath, VT_BSTR}, |
- { NULL, kpidIsDir, VT_BOOL}, |
- { NULL, kpidSize, VT_UI8}, |
- { NULL, kpidCTime, VT_FILETIME}, |
- { NULL, kpidATime, VT_FILETIME}, |
- { NULL, kpidMTime, VT_FILETIME}, |
- { NULL, kpidAttrib, VT_UI4}, |
- { NULL, kpidIsAnti, VT_BOOL} |
-}; |
- |
-STDMETHODIMP CArchiveUpdateCallback::EnumProperties(IEnumSTATPROPSTG **) |
-{ |
- return CStatPropEnumerator::CreateEnumerator(kProperties, sizeof(kProperties) / sizeof(kProperties[0]), enumerator); |
-} |
-*/ |
- |
-STDMETHODIMP CArchiveUpdateCallback::GetUpdateItemInfo(UInt32 index, |
- Int32 *newData, Int32 *newProps, UInt32 *indexInArchive) |
-{ |
- COM_TRY_BEGIN |
- RINOK(Callback->CheckBreak()); |
- const CUpdatePair2 &up = (*UpdatePairs)[index]; |
- if (newData != NULL) *newData = BoolToInt(up.NewData); |
- if (newProps != NULL) *newProps = BoolToInt(up.NewProps); |
- if (indexInArchive != NULL) |
- { |
- *indexInArchive = (UInt32)-1; |
- if (up.ExistInArchive()) |
- *indexInArchive = (ArcItems == 0) ? up.ArcIndex : (*ArcItems)[up.ArcIndex].IndexInServer; |
- } |
- return S_OK; |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *value) |
-{ |
- COM_TRY_BEGIN |
- const CUpdatePair2 &up = (*UpdatePairs)[index]; |
- NWindows::NCOM::CPropVariant prop; |
- |
- if (propID == kpidIsAnti) |
- { |
- prop = up.IsAnti; |
- prop.Detach(value); |
- return S_OK; |
- } |
- |
- if (up.IsAnti) |
- { |
- switch(propID) |
- { |
- case kpidIsDir: |
- case kpidPath: |
- break; |
- case kpidSize: |
- prop = (UInt64)0; |
- prop.Detach(value); |
- return S_OK; |
- default: |
- prop.Detach(value); |
- return S_OK; |
- } |
- } |
- |
- if (up.ExistOnDisk()) |
- { |
- const CDirItem &di = DirItems->Items[up.DirIndex]; |
- switch(propID) |
- { |
- case kpidPath: prop = DirItems->GetLogPath(up.DirIndex); break; |
- case kpidIsDir: prop = di.IsDir(); break; |
- case kpidSize: prop = di.Size; break; |
- case kpidAttrib: prop = di.Attrib; break; |
- case kpidCTime: prop = di.CTime; break; |
- case kpidATime: prop = di.ATime; break; |
- case kpidMTime: prop = di.MTime; break; |
- } |
- } |
- else |
- { |
- if (propID == kpidPath) |
- { |
- if (up.NewNameIndex >= 0) |
- { |
- prop = (*NewNames)[up.NewNameIndex]; |
- prop.Detach(value); |
- return S_OK; |
- } |
- } |
- if (up.ExistInArchive() && Archive) |
- { |
- UInt32 indexInArchive; |
- if (ArcItems == 0) |
- indexInArchive = up.ArcIndex; |
- else |
- indexInArchive = (*ArcItems)[up.ArcIndex].IndexInServer; |
- return Archive->GetProperty(indexInArchive, propID, value); |
- } |
- } |
- prop.Detach(value); |
- return S_OK; |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::GetStream(UInt32 index, ISequentialInStream **inStream) |
-{ |
- COM_TRY_BEGIN |
- const CUpdatePair2 &up = (*UpdatePairs)[index]; |
- if (!up.NewData) |
- return E_FAIL; |
- |
- RINOK(Callback->CheckBreak()); |
- RINOK(Callback->Finilize()); |
- |
- if (up.IsAnti) |
- { |
- return Callback->GetStream((*ArcItems)[up.ArcIndex].Name, true); |
- } |
- const CDirItem &di = DirItems->Items[up.DirIndex]; |
- RINOK(Callback->GetStream(DirItems->GetLogPath(up.DirIndex), false)); |
- |
- if (di.IsDir()) |
- return S_OK; |
- |
- if (StdInMode) |
- { |
- CStdInFileStream *inStreamSpec = new CStdInFileStream; |
- CMyComPtr<ISequentialInStream> inStreamLoc(inStreamSpec); |
- *inStream = inStreamLoc.Detach(); |
- } |
- else |
- { |
- CInFileStream *inStreamSpec = new CInFileStream; |
- CMyComPtr<ISequentialInStream> inStreamLoc(inStreamSpec); |
- const UString path = DirItems->GetPhyPath(up.DirIndex); |
- if (!inStreamSpec->OpenShared(path, ShareForWrite)) |
- { |
- return Callback->OpenFileError(path, ::GetLastError()); |
- } |
- *inStream = inStreamLoc.Detach(); |
- } |
- return S_OK; |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::SetOperationResult(Int32 operationResult) |
-{ |
- COM_TRY_BEGIN |
- return Callback->SetOperationResult(operationResult); |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::GetVolumeSize(UInt32 index, UInt64 *size) |
-{ |
- if (VolumesSizes.Size() == 0) |
- return S_FALSE; |
- if (index >= (UInt32)VolumesSizes.Size()) |
- index = VolumesSizes.Size() - 1; |
- *size = VolumesSizes[index]; |
- return S_OK; |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::GetVolumeStream(UInt32 index, ISequentialOutStream **volumeStream) |
-{ |
- COM_TRY_BEGIN |
- wchar_t temp[32]; |
- ConvertUInt64ToString(index + 1, temp); |
- UString res = temp; |
- while (res.Length() < 2) |
- res = UString(L'0') + res; |
- UString fileName = VolName; |
- fileName += L'.'; |
- fileName += res; |
- fileName += VolExt; |
- COutFileStream *streamSpec = new COutFileStream; |
- CMyComPtr<ISequentialOutStream> streamLoc(streamSpec); |
- if (!streamSpec->Create(fileName, false)) |
- return ::GetLastError(); |
- *volumeStream = streamLoc.Detach(); |
- return S_OK; |
- COM_TRY_END |
-} |
- |
-STDMETHODIMP CArchiveUpdateCallback::CryptoGetTextPassword2(Int32 *passwordIsDefined, BSTR *password) |
-{ |
- COM_TRY_BEGIN |
- return Callback->CryptoGetTextPassword2(passwordIsDefined, password); |
- COM_TRY_END |
-} |