Sandboxie/SandboxiePlus/MiscHelpers/Archive/ArchiveOpener.h

32 lines
884 B
C
Raw Normal View History

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