3 #ifndef __7Z_UPDATE_H
\r
4 #define __7Z_UPDATE_H
\r
6 #include "7zCompressionMode.h"
\r
10 #include "../IArchive.h"
\r
12 namespace NArchive {
\r
40 bool HasStream() const { return !IsDir && !IsAnti && Size != 0; }
\r
45 AttribDefined(false),
\r
46 CTimeDefined(false),
\r
47 ATimeDefined(false),
\r
50 void SetDirStatusFromAttrib() { IsDir = ((Attrib & FILE_ATTRIBUTE_DIRECTORY) != 0); };
\r
52 int GetExtensionPos() const;
\r
53 UString GetExtension() const;
\r
56 struct CUpdateOptions
\r
58 const CCompressionMethodMode *Method;
\r
59 const CCompressionMethodMode *HeaderMethod;
\r
63 CHeaderOptions HeaderOptions;
\r
65 UInt64 NumSolidFiles;
\r
66 UInt64 NumSolidBytes;
\r
67 bool SolidExtension;
\r
68 bool RemoveSfxBlock;
\r
73 DECL_EXTERNAL_CODECS_LOC_VARS
\r
74 IInStream *inStream,
\r
75 const CArchiveDatabaseEx *db,
\r
76 const CObjectVector<CUpdateItem> &updateItems,
\r
77 COutArchive &archive,
\r
78 CArchiveDatabase &newDatabase,
\r
79 ISequentialOutStream *seqOutStream,
\r
80 IArchiveUpdateCallback *updateCallback,
\r
81 const CUpdateOptions &options
\r
83 , ICryptoGetTextPassword *getDecoderPassword
\r