IFileExtractCallback.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // IFileExtractCallback.h
  2. #ifndef __IFILEEXTRACTCALLBACK_H
  3. #define __IFILEEXTRACTCALLBACK_H
  4. #include "Common/MyString.h"
  5. #include "../../IDecl.h"
  6. namespace NOverwriteAnswer
  7. {
  8. enum EEnum
  9. {
  10. kYes,
  11. kYesToAll,
  12. kNo,
  13. kNoToAll,
  14. kAutoRename,
  15. kCancel
  16. };
  17. }
  18. DECL_INTERFACE_SUB(IFolderArchiveExtractCallback, IProgress, 0x01, 0x07)
  19. {
  20. public:
  21. STDMETHOD(AskOverwrite)(
  22. const wchar_t *existName, const FILETIME *existTime, const UInt64 *existSize,
  23. const wchar_t *newName, const FILETIME *newTime, const UInt64 *newSize,
  24. Int32 *answer) PURE;
  25. STDMETHOD(PrepareOperation)(const wchar_t *name, bool isFolder, Int32 askExtractMode, const UInt64 *position) PURE;
  26. STDMETHOD(MessageError)(const wchar_t *message) PURE;
  27. STDMETHOD(SetOperationResult)(Int32 operationResult, bool encrypted) PURE;
  28. };
  29. struct IExtractCallbackUI: IFolderArchiveExtractCallback
  30. {
  31. virtual HRESULT BeforeOpen(const wchar_t *name) = 0;
  32. virtual HRESULT OpenResult(const wchar_t *name, HRESULT result, bool encrypted) = 0;
  33. virtual HRESULT ThereAreNoFiles() = 0;
  34. virtual HRESULT ExtractResult(HRESULT result) = 0;
  35. virtual HRESULT SetPassword(const UString &password) = 0;
  36. };
  37. #endif