mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 11:14:58 -06:00
70 lines
1.3 KiB
C++
Executable File
70 lines
1.3 KiB
C++
Executable File
// OpenCallback.h
|
|
|
|
#ifndef ZIP7_INC_OPEN_CALLBACK_H
|
|
#define ZIP7_INC_OPEN_CALLBACK_H
|
|
|
|
#include "../Common/ArchiveOpenCallback.h"
|
|
|
|
#ifdef Z7_SFX
|
|
#include "ProgressDialog.h"
|
|
#else
|
|
#include "ProgressDialog2.h"
|
|
#endif
|
|
|
|
/* we can use IArchiveOpenCallback or IOpenCallbackUI here */
|
|
|
|
class COpenArchiveCallback Z7_final:
|
|
/*
|
|
public IArchiveOpenCallback,
|
|
public IProgress,
|
|
public ICryptoGetTextPassword,
|
|
public CMyUnknownImp
|
|
*/
|
|
public IOpenCallbackUI
|
|
{
|
|
// NWindows::NSynchronization::CCriticalSection _criticalSection;
|
|
public:
|
|
bool PasswordIsDefined;
|
|
bool PasswordWasAsked;
|
|
UString Password;
|
|
HWND ParentWindow;
|
|
CProgressDialog ProgressDialog;
|
|
|
|
/*
|
|
Z7_COM_UNKNOWN_IMP_3(
|
|
IArchiveOpenVolumeCallback,
|
|
IProgress
|
|
ICryptoGetTextPassword
|
|
)
|
|
|
|
Z7_IFACE_COM7_IMP(IProgress)
|
|
Z7_IFACE_COM7_IMP(IArchiveOpenCallback)
|
|
// ICryptoGetTextPassword
|
|
Z7_COM7F_IMP(CryptoGetTextPassword(BSTR *password))
|
|
*/
|
|
|
|
Z7_IFACE_IMP(IOpenCallbackUI)
|
|
|
|
COpenArchiveCallback():
|
|
ParentWindow(NULL)
|
|
{
|
|
// _subArchiveMode = false;
|
|
PasswordIsDefined = false;
|
|
PasswordWasAsked = false;
|
|
}
|
|
/*
|
|
void Init()
|
|
{
|
|
PasswordIsDefined = false;
|
|
_subArchiveMode = false;
|
|
}
|
|
*/
|
|
|
|
INT_PTR StartProgressDialog(const UString &title, NWindows::CThread &thread)
|
|
{
|
|
return ProgressDialog.Create(title, thread, ParentWindow);
|
|
}
|
|
};
|
|
|
|
#endif
|