xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/UpdateCallback100.cpp (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // UpdateCallback100.cpp
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h"
4*f6dc9357SAndroid Build Coastguard Worker 
5*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/ErrorMsg.h"
6*f6dc9357SAndroid Build Coastguard Worker 
7*f6dc9357SAndroid Build Coastguard Worker #include "../GUI/resource3.h"
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker #include "LangUtils.h"
10*f6dc9357SAndroid Build Coastguard Worker #include "UpdateCallback100.h"
11*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::ScanProgress (UInt64,UInt64 numFiles,UInt64 totalSize,const wchar_t * path,Int32))12*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::ScanProgress(UInt64 /* numFolders */, UInt64 numFiles, UInt64 totalSize, const wchar_t *path, Int32 /* isDir */))
13*f6dc9357SAndroid Build Coastguard Worker {
14*f6dc9357SAndroid Build Coastguard Worker   return ProgressDialog->Sync.ScanProgress(numFiles, totalSize, us2fs(path));
15*f6dc9357SAndroid Build Coastguard Worker }
16*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::ScanError (const wchar_t * path,HRESULT errorCode))17*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::ScanError(const wchar_t *path, HRESULT errorCode))
18*f6dc9357SAndroid Build Coastguard Worker {
19*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.AddError_Code_Name(errorCode, path);
20*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
21*f6dc9357SAndroid Build Coastguard Worker }
22*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::SetNumFiles (UInt64 numFiles))23*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::SetNumFiles(UInt64 numFiles))
24*f6dc9357SAndroid Build Coastguard Worker {
25*f6dc9357SAndroid Build Coastguard Worker   return ProgressDialog->Sync.Set_NumFilesTotal(numFiles);
26*f6dc9357SAndroid Build Coastguard Worker }
27*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::SetTotal (UInt64 size))28*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::SetTotal(UInt64 size))
29*f6dc9357SAndroid Build Coastguard Worker {
30*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.Set_NumBytesTotal(size);
31*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
32*f6dc9357SAndroid Build Coastguard Worker }
33*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::SetCompleted (const UInt64 * completed))34*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::SetCompleted(const UInt64 *completed))
35*f6dc9357SAndroid Build Coastguard Worker {
36*f6dc9357SAndroid Build Coastguard Worker   return ProgressDialog->Sync.Set_NumBytesCur(completed);
37*f6dc9357SAndroid Build Coastguard Worker }
38*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::SetRatioInfo (const UInt64 * inSize,const UInt64 * outSize))39*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::SetRatioInfo(const UInt64 *inSize, const UInt64 *outSize))
40*f6dc9357SAndroid Build Coastguard Worker {
41*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.Set_Ratio(inSize, outSize);
42*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
43*f6dc9357SAndroid Build Coastguard Worker }
44*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::CompressOperation (const wchar_t * name))45*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::CompressOperation(const wchar_t *name))
46*f6dc9357SAndroid Build Coastguard Worker {
47*f6dc9357SAndroid Build Coastguard Worker   return SetOperation_Base(NUpdateNotifyOp::kAdd, name, false);
48*f6dc9357SAndroid Build Coastguard Worker }
49*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::DeleteOperation (const wchar_t * name))50*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::DeleteOperation(const wchar_t *name))
51*f6dc9357SAndroid Build Coastguard Worker {
52*f6dc9357SAndroid Build Coastguard Worker   return SetOperation_Base(NUpdateNotifyOp::kDelete, name, false);
53*f6dc9357SAndroid Build Coastguard Worker }
54*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::OperationResult (Int32))55*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::OperationResult(Int32 /* operationResult */))
56*f6dc9357SAndroid Build Coastguard Worker {
57*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.Set_NumFilesCur(++NumFiles);
58*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
59*f6dc9357SAndroid Build Coastguard Worker }
60*f6dc9357SAndroid Build Coastguard Worker 
61*f6dc9357SAndroid Build Coastguard Worker void SetExtractErrorMessage(Int32 opRes, Int32 encrypted, const wchar_t *fileName, UString &s);
62*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::ReportExtractResult (Int32 opRes,Int32 isEncrypted,const wchar_t * name))63*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::ReportExtractResult(Int32 opRes, Int32 isEncrypted, const wchar_t *name))
64*f6dc9357SAndroid Build Coastguard Worker {
65*f6dc9357SAndroid Build Coastguard Worker   if (opRes != NArchive::NExtract::NOperationResult::kOK)
66*f6dc9357SAndroid Build Coastguard Worker   {
67*f6dc9357SAndroid Build Coastguard Worker     UString s;
68*f6dc9357SAndroid Build Coastguard Worker     SetExtractErrorMessage(opRes, isEncrypted, name, s);
69*f6dc9357SAndroid Build Coastguard Worker     ProgressDialog->Sync.AddError_Message(s);
70*f6dc9357SAndroid Build Coastguard Worker   }
71*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
72*f6dc9357SAndroid Build Coastguard Worker }
73*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::ReportUpdateOperation (UInt32 notifyOp,const wchar_t * name,Int32 isDir))74*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::ReportUpdateOperation(UInt32 notifyOp, const wchar_t *name, Int32 isDir))
75*f6dc9357SAndroid Build Coastguard Worker {
76*f6dc9357SAndroid Build Coastguard Worker   return SetOperation_Base(notifyOp, name, IntToBool(isDir));
77*f6dc9357SAndroid Build Coastguard Worker }
78*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::UpdateErrorMessage (const wchar_t * message))79*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::UpdateErrorMessage(const wchar_t *message))
80*f6dc9357SAndroid Build Coastguard Worker {
81*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.AddError_Message(message);
82*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
83*f6dc9357SAndroid Build Coastguard Worker }
84*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::OpenFileError (const wchar_t * path,HRESULT errorCode))85*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::OpenFileError(const wchar_t *path, HRESULT errorCode))
86*f6dc9357SAndroid Build Coastguard Worker {
87*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.AddError_Code_Name(errorCode, path);
88*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
89*f6dc9357SAndroid Build Coastguard Worker }
90*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::ReadingFileError (const wchar_t * path,HRESULT errorCode))91*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::ReadingFileError(const wchar_t *path, HRESULT errorCode))
92*f6dc9357SAndroid Build Coastguard Worker {
93*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.AddError_Code_Name(errorCode, path);
94*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
95*f6dc9357SAndroid Build Coastguard Worker }
96*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::CryptoGetTextPassword2 (Int32 * passwordIsDefined,BSTR * password))97*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::CryptoGetTextPassword2(Int32 *passwordIsDefined, BSTR *password))
98*f6dc9357SAndroid Build Coastguard Worker {
99*f6dc9357SAndroid Build Coastguard Worker   *password = NULL;
100*f6dc9357SAndroid Build Coastguard Worker   *passwordIsDefined = BoolToInt(PasswordIsDefined);
101*f6dc9357SAndroid Build Coastguard Worker   if (!PasswordIsDefined)
102*f6dc9357SAndroid Build Coastguard Worker     return S_OK;
103*f6dc9357SAndroid Build Coastguard Worker   return StringToBstr(Password, password);
104*f6dc9357SAndroid Build Coastguard Worker }
105*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::SetTotal (const UInt64 *,const UInt64 *))106*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::SetTotal(const UInt64 * /* files */, const UInt64 * /* bytes */))
107*f6dc9357SAndroid Build Coastguard Worker {
108*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
109*f6dc9357SAndroid Build Coastguard Worker }
110*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::SetCompleted (const UInt64 *,const UInt64 *))111*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::SetCompleted(const UInt64 * /* files */, const UInt64 * /* bytes */))
112*f6dc9357SAndroid Build Coastguard Worker {
113*f6dc9357SAndroid Build Coastguard Worker   return ProgressDialog->Sync.CheckStop();
114*f6dc9357SAndroid Build Coastguard Worker }
115*f6dc9357SAndroid Build Coastguard Worker 
116*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::MoveArc_Start (const wchar_t * srcTempPath,const wchar_t * destFinalPath,UInt64 size,Int32 updateMode))117*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::MoveArc_Start(const wchar_t *srcTempPath, const wchar_t *destFinalPath, UInt64 size, Int32 updateMode))
118*f6dc9357SAndroid Build Coastguard Worker {
119*f6dc9357SAndroid Build Coastguard Worker   return MoveArc_Start_Base(srcTempPath, destFinalPath, size, updateMode);
120*f6dc9357SAndroid Build Coastguard Worker }
121*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::MoveArc_Progress (UInt64 totalSize,UInt64 currentSize))122*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::MoveArc_Progress(UInt64 totalSize, UInt64 currentSize))
123*f6dc9357SAndroid Build Coastguard Worker {
124*f6dc9357SAndroid Build Coastguard Worker   return MoveArc_Progress_Base(totalSize, currentSize);
125*f6dc9357SAndroid Build Coastguard Worker }
126*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::MoveArc_Finish ())127*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::MoveArc_Finish())
128*f6dc9357SAndroid Build Coastguard Worker {
129*f6dc9357SAndroid Build Coastguard Worker   return MoveArc_Finish_Base();
130*f6dc9357SAndroid Build Coastguard Worker }
131*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::Before_ArcReopen ())132*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::Before_ArcReopen())
133*f6dc9357SAndroid Build Coastguard Worker {
134*f6dc9357SAndroid Build Coastguard Worker   ProgressDialog->Sync.Clear_Stop_Status();
135*f6dc9357SAndroid Build Coastguard Worker   return S_OK;
136*f6dc9357SAndroid Build Coastguard Worker }
137*f6dc9357SAndroid Build Coastguard Worker 
138*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(CUpdateCallback100Imp::CryptoGetTextPassword (BSTR * password))139*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(CUpdateCallback100Imp::CryptoGetTextPassword(BSTR *password))
140*f6dc9357SAndroid Build Coastguard Worker {
141*f6dc9357SAndroid Build Coastguard Worker   *password = NULL;
142*f6dc9357SAndroid Build Coastguard Worker   if (!PasswordIsDefined)
143*f6dc9357SAndroid Build Coastguard Worker   {
144*f6dc9357SAndroid Build Coastguard Worker     RINOK(ShowAskPasswordDialog())
145*f6dc9357SAndroid Build Coastguard Worker   }
146*f6dc9357SAndroid Build Coastguard Worker   return StringToBstr(Password, password);
147*f6dc9357SAndroid Build Coastguard Worker }
148