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