2022-11-12 09:45:35 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ArchiveHelper.h"
|
|
|
|
|
|
|
|
#ifdef USE_7Z
|
|
|
|
|
|
|
|
class CArchiveOpener: public IArchiveOpenCallback, public IArchiveOpenVolumeCallback, public ICryptoGetTextPassword, public CMyUnknownImp
|
|
|
|
{
|
2023-09-14 16:51:54 +01:00
|
|
|
Z7_COM_UNKNOWN_IMP_3(IArchiveOpenCallback, IArchiveOpenVolumeCallback, ICryptoGetTextPassword)
|
2022-11-12 09:45:35 +00:00
|
|
|
public:
|
|
|
|
|
2023-09-14 16:51:54 +01:00
|
|
|
CArchiveOpener(CArchive* pArchive);
|
|
|
|
~CArchiveOpener();
|
2022-11-12 09:45:35 +00:00
|
|
|
|
|
|
|
// IArchiveOpenCallback
|
2023-09-14 16:51:54 +01:00
|
|
|
Z7_COM7F_IMF(SetTotal(const UInt64 *files, const UInt64 *bytes)) {return S_OK;}
|
|
|
|
Z7_COM7F_IMF(SetCompleted(const UInt64 *files, const UInt64 *bytes)) {return S_OK;}
|
2022-11-12 09:45:35 +00:00
|
|
|
|
|
|
|
// IArchiveOpenVolumeCallback
|
2023-09-14 16:51:54 +01:00
|
|
|
Z7_COM7F_IMF(GetProperty(PROPID propID, PROPVARIANT *value));
|
|
|
|
Z7_COM7F_IMF(GetStream(const wchar_t *name, IInStream **inStream));
|
2022-11-12 09:45:35 +00:00
|
|
|
|
|
|
|
// ICryptoGetTextPassword2
|
2023-09-14 16:51:54 +01:00
|
|
|
Z7_COM7F_IMF(CryptoGetTextPassword(BSTR *password));
|
2022-11-12 09:45:35 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
CArchive* m_pArchive;
|
2023-09-14 16:51:54 +01:00
|
|
|
|
|
|
|
QList<CArchiveIO*> m_Files;
|
2022-11-12 09:45:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|