Sandboxie/SandboxiePlus/MiscHelpers/Archive/ArchiveUpdater.h

39 lines
1.2 KiB
C
Raw Normal View History

2022-11-12 09:45:35 +00:00
#pragma once
#include "ArchiveHelper.h"
#ifdef USE_7Z
class CArchiveUpdater: public IArchiveUpdateCallback2, public ICryptoGetTextPassword2, public CMyUnknownImp
{
2023-09-14 16:51:54 +01:00
Z7_COM_UNKNOWN_IMP_2(IArchiveUpdateCallback2, ICryptoGetTextPassword2)
2022-11-12 09:45:35 +00:00
public:
CArchiveUpdater(CArchive* pArchive, const QMap<int,CArchiveIO*>& Files);
~CArchiveUpdater();
// 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
// IArchiveUpdateCallback2
2023-09-14 16:51:54 +01:00
Z7_COM7F_IMF(GetUpdateItemInfo(UInt32 index, Int32 *newData, Int32 *newProperties, UInt32 *indexInArchive));
Z7_COM7F_IMF(GetProperty(UInt32 index, PROPID propID, PROPVARIANT *value));
Z7_COM7F_IMF(GetStream(UInt32 index, ISequentialInStream **inStream));
Z7_COM7F_IMF(SetOperationResult(Int32 operationResult)) {return S_OK;}
2022-11-12 09:45:35 +00:00
2022-12-07 16:32:40 +00:00
// deprecated
2023-09-14 16:51:54 +01:00
Z7_COM7F_IMF(GetVolumeSize(UInt32 index, UInt64 *size)) {return S_FALSE;}
Z7_COM7F_IMF(GetVolumeStream(UInt32 index, ISequentialOutStream **volumeStream)){return S_FALSE;}
2022-11-12 09:45:35 +00:00
// ICryptoGetTextPassword2
2023-09-14 16:51:54 +01:00
Z7_COM7F_IMF(CryptoGetTextPassword2(Int32 *passwordIsDefined, BSTR *password));
2022-11-12 09:45:35 +00:00
protected:
CArchive* m_pArchive;
QMap<int,CArchiveIO*> m_Files;
};
2022-12-07 16:32:40 +00:00
#endif