summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/lzma/CPP/7zip/UI/Common/Update.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/lzma/CPP/7zip/UI/Common/Update.h')
-rw-r--r--3rdparty/lzma/CPP/7zip/UI/Common/Update.h108
1 files changed, 64 insertions, 44 deletions
diff --git a/3rdparty/lzma/CPP/7zip/UI/Common/Update.h b/3rdparty/lzma/CPP/7zip/UI/Common/Update.h
index 0301ae7660e..a9459ffb614 100644
--- a/3rdparty/lzma/CPP/7zip/UI/Common/Update.h
+++ b/3rdparty/lzma/CPP/7zip/UI/Common/Update.h
@@ -1,7 +1,7 @@
// Update.h
-#ifndef __COMMON_UPDATE_H
-#define __COMMON_UPDATE_H
+#ifndef ZIP7_INC_COMMON_UPDATE_H
+#define ZIP7_INC_COMMON_UPDATE_H
#include "../../../Common/Wildcard.h"
@@ -18,7 +18,7 @@ enum EArcNameMode
{
k_ArcNameMode_Smart,
k_ArcNameMode_Exact,
- k_ArcNameMode_Add,
+ k_ArcNameMode_Add
};
struct CArchivePath
@@ -34,7 +34,7 @@ struct CArchivePath
FString TempPrefix; // path(folder) for temp location
FString TempPostfix;
- CArchivePath(): Temp(false) {};
+ CArchivePath(): Temp(false) {}
void ParseFromPath(const UString &path, EArcNameMode mode);
UString GetPathWithoutExt() const { return Prefix + Name; }
@@ -81,40 +81,46 @@ struct CRenamePair
struct CUpdateOptions
{
- CCompressionMethodMode MethodMode;
-
- CObjectVector<CUpdateArchiveCommand> Commands;
bool UpdateArchiveItself;
- CArchivePath ArchivePath;
- EArcNameMode ArcNameMode;
-
bool SfxMode;
- FString SfxModule;
-
+
+ bool PreserveATime;
bool OpenShareForWrite;
+ bool StopAfterOpenError;
bool StdInMode;
- UString StdInFileName;
bool StdOutMode;
-
+
bool EMailMode;
bool EMailRemoveAfter;
- UString EMailAddress;
- FString WorkingDir;
- NWildcard::ECensorPathMode PathMode;
- UString AddPathPrefix;
+ bool DeleteAfterCompressing;
+ bool SetArcMTime;
CBoolPair NtSecurity;
CBoolPair AltStreams;
CBoolPair HardLinks;
CBoolPair SymLinks;
- bool DeleteAfterCompressing;
+ CBoolPair StoreOwnerId;
+ CBoolPair StoreOwnerName;
- bool SetArcMTime;
+ EArcNameMode ArcNameMode;
+ NWildcard::ECensorPathMode PathMode;
+
+ CCompressionMethodMode MethodMode;
+
+ CObjectVector<CUpdateArchiveCommand> Commands;
+ CArchivePath ArchivePath;
+
+ FString SfxModule;
+ UString StdInFileName;
+ UString EMailAddress;
+ FString WorkingDir;
+ // UString AddPathPrefix;
CObjectVector<CRenamePair> RenamePairs;
+ CRecordVector<UInt64> VolumesSizes;
bool InitFormatIndex(const CCodecs *codecs, const CObjectVector<COpenType> &types, const UString &arcPath);
bool SetArcPath(const CCodecs *codecs, const UString &arcPath);
@@ -122,18 +128,24 @@ struct CUpdateOptions
CUpdateOptions():
UpdateArchiveItself(true),
SfxMode(false),
+
+ PreserveATime(false),
+ OpenShareForWrite(false),
+ StopAfterOpenError(false),
+
StdInMode(false),
StdOutMode(false),
+
EMailMode(false),
EMailRemoveAfter(false),
- OpenShareForWrite(false),
- ArcNameMode(k_ArcNameMode_Smart),
- PathMode(NWildcard::k_RelatPath),
DeleteAfterCompressing(false),
- SetArcMTime(false)
+ SetArcMTime(false),
- {};
+ ArcNameMode(k_ArcNameMode_Smart),
+ PathMode(NWildcard::k_RelatPath)
+
+ {}
void SetActionCommand_Add()
{
@@ -142,13 +154,12 @@ struct CUpdateOptions
c.ActionSet = NUpdateArchive::k_ActionSet_Add;
Commands.Add(c);
}
-
- CRecordVector<UInt64> VolumesSizes;
};
+
struct CUpdateErrorInfo
{
- DWORD SystemError;
+ DWORD SystemError; // it's DWORD (WRes) only;
AString Message;
FStringVector FileNames;
@@ -156,33 +167,42 @@ struct CUpdateErrorInfo
HRESULT Get_HRESULT_Error() const { return SystemError == 0 ? E_FAIL : HRESULT_FROM_WIN32(SystemError); }
void SetFromLastError(const char *message);
HRESULT SetFromLastError(const char *message, const FString &fileName);
+ HRESULT SetFromError_DWORD(const char *message, const FString &fileName, DWORD error);
- CUpdateErrorInfo(): SystemError(0) {};
+ CUpdateErrorInfo(): SystemError(0) {}
};
struct CFinishArchiveStat
{
UInt64 OutArcFileSize;
+ unsigned NumVolumes;
+ bool IsMultiVolMode;
- CFinishArchiveStat(): OutArcFileSize(0) {}
+ CFinishArchiveStat(): OutArcFileSize(0), NumVolumes(0), IsMultiVolMode(false) {}
};
-#define INTERFACE_IUpdateCallbackUI2(x) \
- INTERFACE_IUpdateCallbackUI(x) \
- INTERFACE_IDirItemsCallback(x) \
- virtual HRESULT OpenResult(const CCodecs *codecs, const CArchiveLink &arcLink, const wchar_t *name, HRESULT result) x; \
- virtual HRESULT StartScanning() x; \
- virtual HRESULT FinishScanning(const CDirItemsStat &st) x; \
- virtual HRESULT StartOpenArchive(const wchar_t *name) x; \
- virtual HRESULT StartArchive(const wchar_t *name, bool updating) x; \
- virtual HRESULT FinishArchive(const CFinishArchiveStat &st) x; \
- virtual HRESULT DeletingAfterArchiving(const FString &path, bool isDir) x; \
- virtual HRESULT FinishDeletingAfterArchiving() x; \
-
-struct IUpdateCallbackUI2: public IUpdateCallbackUI, public IDirItemsCallback
+Z7_PURE_INTERFACES_BEGIN
+
+// INTERFACE_IUpdateCallbackUI(x)
+// INTERFACE_IDirItemsCallback(x)
+
+#define Z7_IFACEN_IUpdateCallbackUI2(x) \
+ virtual HRESULT OpenResult(const CCodecs *codecs, const CArchiveLink &arcLink, const wchar_t *name, HRESULT result) x \
+ virtual HRESULT StartScanning() x \
+ virtual HRESULT FinishScanning(const CDirItemsStat &st) x \
+ virtual HRESULT StartOpenArchive(const wchar_t *name) x \
+ virtual HRESULT StartArchive(const wchar_t *name, bool updating) x \
+ virtual HRESULT FinishArchive(const CFinishArchiveStat &st) x \
+ virtual HRESULT DeletingAfterArchiving(const FString &path, bool isDir) x \
+ virtual HRESULT FinishDeletingAfterArchiving() x \
+
+DECLARE_INTERFACE(IUpdateCallbackUI2):
+ public IUpdateCallbackUI,
+ public IDirItemsCallback
{
- INTERFACE_IUpdateCallbackUI2(=0)
+ Z7_IFACE_PURE(IUpdateCallbackUI2)
};
+Z7_PURE_INTERFACES_END
HRESULT UpdateArchive(
CCodecs *codecs,