Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(255)

Side by Side Diff: third_party/lzma/v4_65/files/CPP/7zip/UI/Common/Update.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Update.h
2
3 #ifndef __UPDATE_H
4 #define __UPDATE_H
5
6 #include "Common/Wildcard.h"
7 #include "Windows/FileFind.h"
8 #include "../../Archive/IArchive.h"
9
10 #include "UpdateAction.h"
11 #include "ArchiveOpenCallback.h"
12 #include "UpdateCallback.h"
13 #include "Property.h"
14 #include "LoadCodecs.h"
15
16 struct CArchivePath
17 {
18 UString Prefix; // path(folder) prefix including slash
19 UString Name; // base name
20 UString BaseExtension; // archive type extension or "exe" extension
21 UString VolExtension; // archive type extension for volumes
22
23 bool Temp;
24 UString TempPrefix; // path(folder) for temp location
25 UString TempPostfix;
26
27 CArchivePath(): Temp(false) {};
28
29 void ParseFromPath(const UString &path)
30 {
31 SplitPathToParts(path, Prefix, Name);
32 if (Name.IsEmpty())
33 return;
34 int dotPos = Name.ReverseFind(L'.');
35 if (dotPos <= 0)
36 return;
37 if (dotPos == Name.Length() - 1)
38 {
39 Name = Name.Left(dotPos);
40 BaseExtension.Empty();
41 return;
42 }
43 if (BaseExtension.CompareNoCase(Name.Mid(dotPos + 1)) == 0)
44 {
45 BaseExtension = Name.Mid(dotPos + 1);
46 Name = Name.Left(dotPos);
47 }
48 else
49 BaseExtension.Empty();
50 }
51
52 UString GetPathWithoutExt() const
53 {
54 return Prefix + Name;
55 }
56
57 UString GetFinalPath() const
58 {
59 UString path = GetPathWithoutExt();
60 if (!BaseExtension.IsEmpty())
61 path += UString(L'.') + BaseExtension;
62 return path;
63 }
64
65
66 UString GetTempPath() const
67 {
68 UString path = TempPrefix + Name;
69 if (!BaseExtension.IsEmpty())
70 path += UString(L'.') + BaseExtension;
71 path += L".tmp";
72 path += TempPostfix;
73 return path;
74 }
75 };
76
77 struct CUpdateArchiveCommand
78 {
79 UString UserArchivePath;
80 CArchivePath ArchivePath;
81 NUpdateArchive::CActionSet ActionSet;
82 };
83
84 struct CCompressionMethodMode
85 {
86 int FormatIndex;
87 CObjectVector<CProperty> Properties;
88 CCompressionMethodMode(): FormatIndex(-1) {}
89 };
90
91 struct CUpdateOptions
92 {
93 CCompressionMethodMode MethodMode;
94
95 CObjectVector<CUpdateArchiveCommand> Commands;
96 bool UpdateArchiveItself;
97 CArchivePath ArchivePath;
98
99 bool SfxMode;
100 UString SfxModule;
101
102 bool OpenShareForWrite;
103
104 bool StdInMode;
105 UString StdInFileName;
106 bool StdOutMode;
107
108 bool EMailMode;
109 bool EMailRemoveAfter;
110 UString EMailAddress;
111
112 UString WorkingDir;
113
114 bool Init(const CCodecs *codecs, const CIntVector &formatIndices, const UStrin g &arcPath);
115
116 CUpdateOptions():
117 UpdateArchiveItself(true),
118 SfxMode(false),
119 StdInMode(false),
120 StdOutMode(false),
121 EMailMode(false),
122 EMailRemoveAfter(false),
123 OpenShareForWrite(false)
124 {};
125 CRecordVector<UInt64> VolumesSizes;
126 };
127
128 struct CErrorInfo
129 {
130 DWORD SystemError;
131 UString FileName;
132 UString FileName2;
133 UString Message;
134 // UStringVector ErrorPaths;
135 // CRecordVector<DWORD> ErrorCodes;
136 CErrorInfo(): SystemError(0) {};
137 };
138
139 struct CUpdateErrorInfo: public CErrorInfo
140 {
141 };
142
143 #define INTERFACE_IUpdateCallbackUI2(x) \
144 INTERFACE_IUpdateCallbackUI(x) \
145 virtual HRESULT OpenResult(const wchar_t *name, HRESULT result) x; \
146 virtual HRESULT StartScanning() x; \
147 virtual HRESULT ScanProgress(UInt64 numFolders, UInt64 numFiles, const wchar_t *path) x; \
148 virtual HRESULT CanNotFindError(const wchar_t *name, DWORD systemError) x; \
149 virtual HRESULT FinishScanning() x; \
150 virtual HRESULT StartArchive(const wchar_t *name, bool updating) x; \
151 virtual HRESULT FinishArchive() x; \
152
153 struct IUpdateCallbackUI2: public IUpdateCallbackUI
154 {
155 INTERFACE_IUpdateCallbackUI2(=0)
156 };
157
158 HRESULT UpdateArchive(
159 CCodecs *codecs,
160 const NWildcard::CCensor &censor,
161 CUpdateOptions &options,
162 CUpdateErrorInfo &errorInfo,
163 IOpenCallbackUI *openCallback,
164 IUpdateCallbackUI2 *callback);
165
166 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698