Sandboxie/SandboxiePlus/MiscHelpers/Archive/ArchiveExtractor.h

34 lines
878 B
C
Raw Normal View History

2022-11-12 09:45:35 +00:00
#pragma once
#include "ArchiveHelper.h"
#ifdef USE_7Z
class CArchiveExtractor: public IArchiveExtractCallback, public ICryptoGetTextPassword, public CMyUnknownImp
{
2023-09-14 16:51:54 +01:00
Z7_COM_UNKNOWN_IMP_2(IArchiveExtractCallback, ICryptoGetTextPassword)
2022-11-12 09:45:35 +00:00
public:
CArchiveExtractor(CArchive* pArchive, const QMap<int,CArchiveIO*>& Files);
~CArchiveExtractor();
// IProgress
2023-09-14 16:51:54 +01:00
Z7_COM7F_IMF(SetTotal(UInt64 size));
Z7_COM7F_IMF(SetCompleted(const UInt64 *completeValue));
2022-11-12 09:45:35 +00:00
// IArchiveExtractCallback
2023-09-14 16:51:54 +01:00
Z7_COM7F_IMF(PrepareOperation(Int32 askExtractMode));
Z7_COM7F_IMF(GetStream(UInt32 index, ISequentialOutStream **outStream, Int32 askExtractMode));
Z7_COM7F_IMF(SetOperationResult(Int32 operationResult));
2022-11-12 09:45:35 +00:00
// ICryptoGetTextPassword
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;
QMap<int,CArchiveIO*> m_Files;
int m_Index;
};
#endif