mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 13:14:59 -06:00
58 lines
1.3 KiB
C++
58 lines
1.3 KiB
C++
// ExtractEngine.h
|
|
|
|
#ifndef __EXTRACT_ENGINE_H
|
|
#define __EXTRACT_ENGINE_H
|
|
|
|
#include "../../../Common/MyCom.h"
|
|
#include "../../../Common/MyString.h"
|
|
|
|
#include "../../IPassword.h"
|
|
#include "../Agent/IFolderArchive.h"
|
|
|
|
#include "ProgressBox.h"
|
|
|
|
class CExtractCallbackImp:
|
|
public IFolderArchiveExtractCallback,
|
|
public IFolderArchiveExtractCallback2,
|
|
public ICryptoGetTextPassword,
|
|
public CMyUnknownImp
|
|
{
|
|
public:
|
|
MY_UNKNOWN_IMP2(ICryptoGetTextPassword, IFolderArchiveExtractCallback2)
|
|
|
|
// IProgress
|
|
STDMETHOD(SetTotal)(UInt64 size);
|
|
STDMETHOD(SetCompleted)(const UInt64 *completeValue);
|
|
|
|
INTERFACE_IFolderArchiveExtractCallback(;)
|
|
INTERFACE_IFolderArchiveExtractCallback2(;)
|
|
|
|
// ICryptoGetTextPassword
|
|
STDMETHOD(CryptoGetTextPassword)(BSTR *password);
|
|
|
|
private:
|
|
UString m_CurrentFilePath;
|
|
|
|
CProgressBox *_percent;
|
|
UINT m_CodePage;
|
|
|
|
bool m_PasswordIsDefined;
|
|
UString m_Password;
|
|
|
|
void CreateComplexDirectory(const UStringVector &dirPathParts);
|
|
/*
|
|
void GetPropertyValue(LPITEMIDLIST anItemIDList, PROPID aPropId,
|
|
PROPVARIANT *aValue);
|
|
bool IsEncrypted(LPITEMIDLIST anItemIDList);
|
|
*/
|
|
void AddErrorMessage(LPCTSTR message);
|
|
public:
|
|
// CExtractCallbackImp() {}
|
|
~CExtractCallbackImp();
|
|
void Init(UINT codePage,
|
|
CProgressBox *progressBox,
|
|
bool passwordIsDefined, const UString &password);
|
|
};
|
|
|
|
#endif
|