xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/OpenCallback.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // OpenCallback.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_OPEN_CALLBACK_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_OPEN_CALLBACK_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "../Common/ArchiveOpenCallback.h"
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_SFX
9*f6dc9357SAndroid Build Coastguard Worker #include "ProgressDialog.h"
10*f6dc9357SAndroid Build Coastguard Worker #else
11*f6dc9357SAndroid Build Coastguard Worker #include "ProgressDialog2.h"
12*f6dc9357SAndroid Build Coastguard Worker #endif
13*f6dc9357SAndroid Build Coastguard Worker 
14*f6dc9357SAndroid Build Coastguard Worker /* we can use IArchiveOpenCallback or IOpenCallbackUI here */
15*f6dc9357SAndroid Build Coastguard Worker 
16*f6dc9357SAndroid Build Coastguard Worker class COpenArchiveCallback Z7_final:
17*f6dc9357SAndroid Build Coastguard Worker   /*
18*f6dc9357SAndroid Build Coastguard Worker   public IArchiveOpenCallback,
19*f6dc9357SAndroid Build Coastguard Worker   public IProgress,
20*f6dc9357SAndroid Build Coastguard Worker   public ICryptoGetTextPassword,
21*f6dc9357SAndroid Build Coastguard Worker   public CMyUnknownImp
22*f6dc9357SAndroid Build Coastguard Worker   */
23*f6dc9357SAndroid Build Coastguard Worker   public IOpenCallbackUI
24*f6dc9357SAndroid Build Coastguard Worker {
25*f6dc9357SAndroid Build Coastguard Worker   // NWindows::NSynchronization::CCriticalSection _criticalSection;
26*f6dc9357SAndroid Build Coastguard Worker public:
27*f6dc9357SAndroid Build Coastguard Worker   bool PasswordIsDefined;
28*f6dc9357SAndroid Build Coastguard Worker   bool PasswordWasAsked;
29*f6dc9357SAndroid Build Coastguard Worker   UString Password;
30*f6dc9357SAndroid Build Coastguard Worker   HWND ParentWindow;
31*f6dc9357SAndroid Build Coastguard Worker   CProgressDialog ProgressDialog;
32*f6dc9357SAndroid Build Coastguard Worker 
33*f6dc9357SAndroid Build Coastguard Worker   /*
34*f6dc9357SAndroid Build Coastguard Worker   Z7_COM_UNKNOWN_IMP_3(
35*f6dc9357SAndroid Build Coastguard Worker     IArchiveOpenVolumeCallback,
36*f6dc9357SAndroid Build Coastguard Worker     IProgress
37*f6dc9357SAndroid Build Coastguard Worker     ICryptoGetTextPassword
38*f6dc9357SAndroid Build Coastguard Worker     )
39*f6dc9357SAndroid Build Coastguard Worker 
40*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_COM7_IMP(IProgress)
41*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_COM7_IMP(IArchiveOpenCallback)
42*f6dc9357SAndroid Build Coastguard Worker   // ICryptoGetTextPassword
43*f6dc9357SAndroid Build Coastguard Worker   Z7_COM7F_IMP(CryptoGetTextPassword(BSTR *password))
44*f6dc9357SAndroid Build Coastguard Worker   */
45*f6dc9357SAndroid Build Coastguard Worker 
46*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_IMP(IOpenCallbackUI)
47*f6dc9357SAndroid Build Coastguard Worker 
COpenArchiveCallback()48*f6dc9357SAndroid Build Coastguard Worker   COpenArchiveCallback():
49*f6dc9357SAndroid Build Coastguard Worker       ParentWindow(NULL)
50*f6dc9357SAndroid Build Coastguard Worker   {
51*f6dc9357SAndroid Build Coastguard Worker     // _subArchiveMode = false;
52*f6dc9357SAndroid Build Coastguard Worker     PasswordIsDefined = false;
53*f6dc9357SAndroid Build Coastguard Worker     PasswordWasAsked = false;
54*f6dc9357SAndroid Build Coastguard Worker   }
55*f6dc9357SAndroid Build Coastguard Worker   /*
56*f6dc9357SAndroid Build Coastguard Worker   void Init()
57*f6dc9357SAndroid Build Coastguard Worker   {
58*f6dc9357SAndroid Build Coastguard Worker     PasswordIsDefined = false;
59*f6dc9357SAndroid Build Coastguard Worker     _subArchiveMode = false;
60*f6dc9357SAndroid Build Coastguard Worker   }
61*f6dc9357SAndroid Build Coastguard Worker   */
62*f6dc9357SAndroid Build Coastguard Worker 
StartProgressDialog(const UString & title,NWindows::CThread & thread)63*f6dc9357SAndroid Build Coastguard Worker   INT_PTR StartProgressDialog(const UString &title, NWindows::CThread &thread)
64*f6dc9357SAndroid Build Coastguard Worker   {
65*f6dc9357SAndroid Build Coastguard Worker     return ProgressDialog.Create(title, thread, ParentWindow);
66*f6dc9357SAndroid Build Coastguard Worker   }
67*f6dc9357SAndroid Build Coastguard Worker };
68*f6dc9357SAndroid Build Coastguard Worker 
69*f6dc9357SAndroid Build Coastguard Worker #endif
70