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

Side by Side Diff: base/constants.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
« no previous file with comments | « base/const_utils.h ('k') | base/crash_if_specific_error.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2003-2010 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 // ========================================================================
15
16 //
17 // Constants used by Omaha project
18
19 #ifndef OMAHA_BASE_CONSTANTS_H_
20 #define OMAHA_BASE_CONSTANTS_H_
21
22 #include <windows.h>
23 #include <tchar.h>
24
25 namespace omaha {
26
27 //
28 // Begin vendor-specific constants.
29 //
30 // When adding values here or using these values for a constant, add a test for
31 // the value to common\omaha_customization_unittest.cc.
32 // NOTE: The following are defined in main.scons:
33 // + FULL_COMPANY_NAME_ANSI
34 // + SHORT_COMPANY_NAME_ANSI
35 // + PRODUCT_NAME_ANSI
36 // + COMPANY_DOMAIN_ANSI
37 // + MAIN_DLL_BASE_NAME_ANSI
38 //
39 // *_IDENTIFIER assume that SHORT_COMPANY_NAME_ANSI and PRODUCT_NAME_ANSI are
40 // legal identifiers (i.e. one word).
41
42 // TODO(omaha3): Move vendor-specific constants to a single file to make use
43 // of open source code by other vendors simpler.
44 // TODO(omaha3): Only use very specific const variables outside that file. Do
45 // not build values in other source files by concatenating preprocessor defines.
46
47 // Full company name.
48 // FULL_COMPANY_NAME == "Google Inc."
49 const TCHAR* const kFullCompanyName = _T(FULL_COMPANY_NAME_ANSI);
50
51 // Short company name (for use in paths and messages and to combine with product
52 // name). Does not include "Inc." and similar formal parts of the company name.
53 // SHORT_COMPANY_NAME == "Google"
54 #define SHORT_COMPANY_NAME _T(SHORT_COMPANY_NAME_ANSI)
55 const TCHAR* const kShortCompanyName = SHORT_COMPANY_NAME;
56
57 // Product name.
58 // PRODUCT_NAME == "Update"
59 #define PRODUCT_NAME _T(PRODUCT_NAME_ANSI)
60
61 // Company domain name base. Used for MIME type names.
62 // COMPANY_DOMAIN_BASE_ANSI = "google"
63 #define COMPANY_DOMAIN_BASE _T(COMPANY_DOMAIN_BASE_ANSI)
64
65 // Company domain name base. Used for addresses.
66 // COMPANY_DOMAIN_ANSI = "google.com"
67 #define COMPANY_DOMAIN _T(COMPANY_DOMAIN_ANSI)
68
69 // Company's internal network DNS domain. Used for detecting internal users.
70 // If the internal network uses a different domain than the public-facing
71 // COMPANY_DOMAIN, this will need to be changed.
72 // kCompanyInternalDnsName = ".google.com"
73 const TCHAR* const kCompanyInternalDnsName = _T(".") COMPANY_DOMAIN;
74
75 // Company's internal network NetBIOS name. Used for detecting internal users.
76 // If the internal network uses a different domain than the public-facing
77 // COMPANY_DOMAIN_BASE, this will need to be changed.
78 // kCompanyInternalLanGroupName = "google"
79 const TCHAR* const kCompanyInternalLanGroupName = COMPANY_DOMAIN_BASE;
80
81 // The base name of the main executable. Everything except the ".exe".
82 // Most files start with the main .exe's base name.
83 // MAIN_EXE_BASE_NAME = "GoogleUpdate"
84 #define MAIN_EXE_BASE_NAME _T(MAIN_EXE_BASE_NAME_ANSI)
85
86 // Base name of the main DLL.
87 // MAIN_DLL_BASE_NAME = "goopdate"
88 #define MAIN_DLL_BASE_NAME _T(MAIN_DLL_BASE_NAME_ANSI)
89
90 // Application name.
91 // Use the localized IDS_PRODUCT_DISPLAY_NAME or the formatted
92 // IDS_INSTALLER_DISPLAY_NAME instead when string is displayed to user.
93 // kAppName == "Google Update"
94 // TODO(omaha): Maybe rename all of these kOmahaAppName.
95 const TCHAR* const kAppName = _T(OMAHA_APP_NAME_ANSI);
96
97 #define COMPANY_NAME_IDENTIFIER SHORT_COMPANY_NAME
98 #define PRODUCT_NAME_IDENTIFIER PRODUCT_NAME
99 #define APP_NAME_IDENTIFIER SHORT_COMPANY_NAME PRODUCT_NAME
100
101 // Prefix for any Win32 objects (mutexes, events, etc.).
102 // TODO(omaha): This is used by several files in base/. Maybe we can use a
103 // similar prefix to avoid conflicts with some values in const_object_names.h.
104 // Consider moving this constant to const_object_names.h.
105 #define kLockPrefix \
106 _T("_") COMPANY_NAME_IDENTIFIER _T("_") PRODUCT_NAME_IDENTIFIER _T("_")
107
108 const TCHAR* const kOmahaShellFileName = MAIN_EXE_BASE_NAME _T(".exe");
109 const TCHAR* const kCrashHandlerFileName = CRASH_HANDLER_NAME _T(".exe");
110 const TCHAR* const kOmahaDllName = MAIN_DLL_BASE_NAME _T(".dll");
111 const TCHAR* const kOmahaResourceDllNameFormat =
112 MAIN_DLL_BASE_NAME _T("res_%s.dll");
113 const TCHAR* const kOmahaBrokerFileName =
114 MAIN_EXE_BASE_NAME _T("Broker.exe");
115 const TCHAR* const kOmahaOnDemandFileName =
116 MAIN_EXE_BASE_NAME _T("OnDemand.exe");
117 const TCHAR* const kPSFileNameMachine = _T("psmachine.dll");
118 const TCHAR* const kPSFileNameUser = _T("psuser.dll");
119
120 // TODO(omaha): Replace the following literal in clickonce\build.scons.
121 // '%s/GoogleUpdateSetup.exe'
122
123 // These must be in sync with the WiX files.
124 // TODO(omaha): Make these constants in main.scons and use them in the .wxs
125 // files, kMsiUninstallKey, and elsewhere this GUID appears.
126 const TCHAR* const kHelperInstallerName = MAIN_EXE_BASE_NAME _T("Helper.msi");
127 const TCHAR* const kHelperInstallerProductGuid =
128 _T("{A92DAB39-4E2C-4304-9AB6-BC44E68B55E2}");
129 const TCHAR* const kHelperPatchName = MAIN_EXE_BASE_NAME _T("HelperPatch.msp");
130 const TCHAR* const kHelperPatchGuid =
131 _T("{E0D0D2C9-5836-4023-AB1D-54EC3B90AD03}");
132
133 // The value that is used in the run key.
134 const TCHAR* const kRunValueName = kAppName;
135
136 // The company and organization names as expected in Authenticode certificates.
137 const TCHAR* const kCertificateSubjectName = _T("Google Inc");
138
139 // TODO(omaha): Try to use the above constants in the IDL file help strings.
140 // TODO(omaha): Consider moving uuid's from the IDL files to here too.
141 // TODO(omaha): Use these values for the registry maps definitions, and progid
142 // uses, such as ondemand.h.
143
144 //
145 // Omaha's app ID
146 //
147 // TODO(omaha): Rename all of these "Omaha".
148 #define GOOPDATE_APP_ID _T("{430FD4D0-B729-4F61-AA34-91526481799D}")
149 const TCHAR* const kGoogleUpdateAppId = GOOPDATE_APP_ID;
150 const GUID kGoopdateGuid = {0x430FD4D0, 0xB729, 0x4F61,
151 {0xAA, 0x34, 0x91, 0x52, 0x64, 0x81, 0x79, 0x9D}};
152
153 //
154 // Directory names
155 //
156 #define OFFLINE_DIR_NAME _T("Offline")
157
158 #define OMAHA_REL_COMPANY_DIR SHORT_COMPANY_NAME
159 #define OMAHA_REL_CRASH_DIR OMAHA_REL_COMPANY_DIR _T("\\CrashReports")
160 #define OMAHA_REL_GOOPDATE_INSTALL_DIR \
161 OMAHA_REL_COMPANY_DIR _T("\\") PRODUCT_NAME
162 #define OMAHA_REL_LOG_DIR OMAHA_REL_GOOPDATE_INSTALL_DIR _T("\\Log")
163 #define OMAHA_REL_OFFLINE_STORAGE_DIR \
164 OMAHA_REL_GOOPDATE_INSTALL_DIR _T("\\") OFFLINE_DIR_NAME
165 #define OMAHA_REL_DOWNLOAD_STORAGE_DIR \
166 OMAHA_REL_GOOPDATE_INSTALL_DIR _T("\\Download")
167 #define OMAHA_REL_INSTALL_WORKING_DIR \
168 OMAHA_REL_GOOPDATE_INSTALL_DIR _T("\\Install")
169
170 // This directory is relative to the user profile app data local.
171 #define LOCAL_APPDATA_REL_TEMP_DIR _T("\\Temp")
172
173 //
174 // Registry keys and values
175 //
176 #define MACHINE_KEY_NAME _T("HKLM")
177 #define MACHINE_KEY MACHINE_KEY_NAME _T("\\")
178 #define USER_KEY_NAME _T("HKCU")
179 #define USER_KEY USER_KEY_NAME _T("\\")
180 #define USERS_KEY _T("HKU\\")
181 #define COMPANY_MAIN_KEY _T("Software\\") SHORT_COMPANY_NAME _T("\\")
182 #define GOOPDATE_MAIN_KEY COMPANY_MAIN_KEY PRODUCT_NAME _T("\\")
183 #define GOOPDATE_REG_RELATIVE_CLIENTS GOOPDATE_MAIN_KEY _T("Clients\\")
184 #define GOOPDATE_REG_RELATIVE_CLIENT_STATE GOOPDATE_MAIN_KEY _T("ClientState\\")
185 #define GOOPDATE_REG_RELATIVE_CLIENT_STATE_MEDIUM \
186 GOOPDATE_MAIN_KEY _T("ClientStateMedium\\")
187 #define COMPANY_POLICIES_MAIN_KEY \
188 _T("Software\\Policies\\") SHORT_COMPANY_NAME _T("\\")
189 #define GOOPDATE_POLICIES_RELATIVE COMPANY_POLICIES_MAIN_KEY \
190 PRODUCT_NAME _T("\\")
191
192 #define USER_REG_GOOGLE USER_KEY COMPANY_MAIN_KEY
193 #define USER_REG_UPDATE USER_KEY GOOPDATE_MAIN_KEY
194 #define USER_REG_CLIENTS USER_KEY GOOPDATE_REG_RELATIVE_CLIENTS
195 #define USER_REG_CLIENTS_GOOPDATE USER_REG_CLIENTS GOOPDATE_APP_ID
196 #define USER_REG_CLIENT_STATE USER_KEY GOOPDATE_REG_RELATIVE_CLIENT_STATE
197 #define USER_REG_CLIENT_STATE_GOOPDATE USER_REG_CLIENT_STATE GOOPDATE_APP_ID
198
199 #define MACHINE_REG_GOOGLE MACHINE_KEY COMPANY_MAIN_KEY
200 #define MACHINE_REG_UPDATE MACHINE_KEY GOOPDATE_MAIN_KEY
201 #define MACHINE_REG_CLIENTS MACHINE_KEY GOOPDATE_REG_RELATIVE_CLIENTS
202 #define MACHINE_REG_CLIENTS_GOOPDATE MACHINE_REG_CLIENTS GOOPDATE_APP_ID
203 #define MACHINE_REG_CLIENT_STATE MACHINE_KEY GOOPDATE_REG_RELATIVE_CLIENT_STATE
204 #define MACHINE_REG_CLIENT_STATE_GOOPDATE \
205 MACHINE_REG_CLIENT_STATE GOOPDATE_APP_ID
206 #define MACHINE_REG_CLIENT_STATE_MEDIUM \
207 MACHINE_KEY GOOPDATE_REG_RELATIVE_CLIENT_STATE_MEDIUM
208
209 // Expands to HKEY_LOCAL_MACHINE\SOFTWARE\Google\UpdateDev
210 #define MACHINE_REG_UPDATE_DEV \
211 MACHINE_KEY COMPANY_MAIN_KEY PRODUCT_NAME _T("Dev\\")
212
213 // Regular expressions for the servers allowed to use the Omaha plugins.
214 const TCHAR* const kSiteLockPatternStrings[] = {
215 _T("^(gears)|(mail)|(tools)|(www)|(desktop)|(pack)\\.google\\.com$"),
216 _T("^www\\.google\\.(ad)|(bg)|(ca)|(cn)|(cz)|(de)|(es)|(fi)|(fr)|(gr)|(hr)|(hu )|(it)|(ki)|(kr)|(lt)|(lv)|(nl)|(no)|(pl)|(pt)|(ro)|(ru)|(sk)|(sg)|(sl)|(sr)|(vn )$"), // NOLINT
217 _T("^www\\.google\\.co\\.(hu)|(id)|(il)|(it)|(jp)|(kr)|(th)|(uk)$"),
218 _T("^www\\.google\\.com\\.(ar)|(au)|(br)|(cn)|(et)|(gr)|(hr)|(ki)|(lv)|(om)|(p l)|(pt)|(ru)|(sg)|(sv)|(tr)|(vn)$"), // NOLINT
219 };
220
221 //
222 // Compatible shell versions
223 // The following shell versions are compatible with the current version of
224 // goopdate.dll and do not need be replaced: 1.2.131.7 and 1.2.183.9.
225 //
226 const ULONGLONG kCompatibleOlderShellVersions[] = { 0x0001000200830007,
227 0x0001000200B70009,
228 };
229
230 //
231 // End vendor-specific constants.
232 //
233
234 //
235 // Registry values under MACHINE_REG_UPDATE_DEV allow customization of the
236 // default behavior. The overrides apply for both user and machine
237 // instances of omaha.
238 //
239 // The values below can only be overriden in debug builds.
240 const TCHAR* const kRegValueNameOverInstall = _T("OverInstall");
241 const TCHAR* const kRegValueNameCrashIfSpecificError
242 = _T("CrashIfSpecificError");
243
244 // The values below can be overriden in both debug and opt builds. Code Red url
245 // can be overriden but its value is defined in the Code Red module. The value
246 // name is "CodeRedUrl".
247 const TCHAR* const kRegValueNameUrl = _T("url");
248 const TCHAR* const kRegValueNamePingUrl = _T("PingUrl");
249 const TCHAR* const kRegValueNameCrashReportUrl = _T("CrashReportUrl");
250 const TCHAR* const kRegValueNameGetMoreInfoUrl = _T("MoreInfoUrl");
251 const TCHAR* const kRegValueNameUsageStatsReportUrl = _T("UsageStatsReportUrl");
252 const TCHAR* const kRegValueTestSource = _T("TestSource");
253 const TCHAR* const kRegValueAuCheckPeriodMs = _T("AuCheckPeriodMs");
254 const TCHAR* const kRegValueCrCheckPeriodMs = _T("CrCheckPeriodMs");
255 const TCHAR* const kRegValueProxyHost = _T("ProxyHost");
256 const TCHAR* const kRegValueProxyPort = _T("ProxyPort");
257 const TCHAR* const kRegValueMID = _T("mid");
258
259 // The values below can be overriden in unofficial builds.
260 const TCHAR* const kRegValueNameWindowsInstalling = _T("WindowsInstalling");
261
262 // Allows Omaha to log events in the Windows Event Log. This is
263 // a DWORD value 0: Log nothing, 1: Log warnings and errors, 2: Log everything.
264 const TCHAR* const kRegValueEventLogLevel = _T("LogEventLevel");
265
266 enum LogEventLevel {
267 LOG_EVENT_LEVEL_NONE = 0,
268 LOG_EVENT_LEVEL_WARN_AND_ERROR = 1,
269 LOG_EVENT_LEVEL_ALL = 2
270 };
271
272 // How often Omaha checks the server for updates.
273 const TCHAR* const kRegValueLastCheckPeriodSec = _T("LastCheckPeriodSec");
274
275 // Uses the production or the test cup keys. Once the client has negotiated
276 // CUP credentials {sk, c} and it has saved them under the corresponding
277 // Google\Update\network key then the client does not need any of the CUP keys.
278 // To force the client to use test or production keys, {sk, c} credentials must
279 // be cleared too.
280 const TCHAR* const kRegValueCupKeys = _T("TestKeys");
281
282 // Allow a custom host pattern to be specified. For example,
283 // "^https?://some_test_server\.google\.com/". For other examples, see
284 // kSiteLockPatternStrings. The detailed regular expression syntax is documented
285 // in the MSDN documentation for the CAtlRegExp class:
286 // http://msdn.microsoft.com/en-us/library/k3zs4axe.aspx.
287 const TCHAR* const kRegValueOneClickHostPattern = _T("OneClickHostPattern");
288
289 // Disables the Code Red check.
290 const TCHAR* const kRegValueNoCodeRedCheck = _T("NoCrCheck");
291
292 // Enables sending usage stats always if the value is present.
293 const TCHAR* const kRegValueForceUsageStats = _T("UsageStats");
294
295 // Enables crash uploads if the value is 1. Crashes can be uploaded only if
296 // certain conditions are met. This value allows overriding of the default
297 // crash uploading behavior.
298 const TCHAR* const kRegValueAlwaysAllowCrashUploads =
299 _T("AlwaysAllowCrashUploads");
300
301 // Enables monitoring the 'LastChecked' value for testing purposes. When
302 // the 'LastChecked' is deleted, the core starts a worker process to do an
303 // update check. This value must be set before the core process starts.
304 const TCHAR* const kRegValueMonitorLastChecked = _T("MonitorLastChecked");
305
306 // The test_source value to use for Omaha instances that have
307 // customizations, and hence should be discarded from metrics.
308 const TCHAR* const kRegValueTestSourceAuto = _T("auto");
309
310 // The network configuration to override the network detection.
311 // The corresponding value must have the following format:
312 // wpad=[false|true];script=script_url;proxy=host:port
313 const TCHAR* const kRegValueNetConfig = _T("NetConfig");
314
315 // The maximum length of application and bundle names.
316 const int kMaxNameLength = 512;
317
318 // Specifies whether a tristate item has a value and if so what the value is.
319 enum Tristate {
320 TRISTATE_FALSE,
321 TRISTATE_TRUE,
322 TRISTATE_NONE
323 };
324
325 // Number of periods to use when abbreviating URLs
326 #define kAbbreviationPeriodLength 3
327
328 // The Unicode "Byte Order Marker" character. This is the native
329 // encoding, i.e. after conversion from UTF-8 or whatever.
330 const wchar_t kUnicodeBom = 0xFEFF;
331
332 // Using these constants will make ATL load the
333 // typelib directly from a DLL instead of looking up typelib
334 // registration in registry.
335 const DWORD kMajorTypeLibVersion = 0xFFFF;
336 const DWORD kMinorTypeLibVersion = 0xFFFF;
337
338 // Brand id length
339 const int kBrandIdLength = 4;
340
341 // Country code length according to ISO 3166-3.
342 const int kCountryCodeMaxLength = 5;
343
344 // Language code length.
345 const int kLangMaxLength = 10;
346
347 // When not specified, the country code defaults to USA
348 const TCHAR* const kDefaultCountryCode = _T("us");
349
350 // the max length of the extra info we can store inside the install stubs.
351 const int kExtraMaxLength = 64 * 1024; // 64 KB
352
353 // Default brand code value when one is not specified.
354 // This has been specifically assigned to Omaha.
355 const TCHAR* const kDefaultGoogleUpdateBrandCode = _T("GGLS");
356
357 // The platform named used for Windows.
358 const TCHAR* const kPlatformWin = _T("win");
359
360 // TODO(omaha3): Move goopdate-specific values in this file to const_goopdate.h.
361 // Maybe there should be a const_server_api.h file so the server API is
362 // documented in one location.
363
364 // The following are response strings returned by the server.
365 // They must exactly match the strings returned by the server.
366 const TCHAR* const kResponseStatusOkValue = _T("ok");
367 const TCHAR* const kResponseStatusNoUpdate = _T("noupdate");
368 const TCHAR* const kResponseStatusRestrictedExportCountry = _T("restricted");
369 const TCHAR* const kResponseStatusOsNotSupported = _T("error-osnotsupported");
370 const TCHAR* const kResponseStatusUnKnownApplication =
371 _T("error-UnKnownApplication");
372 const TCHAR* const kResponseStatusInternalError = _T("error-internal");
373 const TCHAR* const kResponseStatusHashError = _T("error-hash");
374 const TCHAR* const kResponseStatusUnsupportedProtocol =
375 _T("error-unsupportedprotocol");
376 const TCHAR* const kResponseDataStatusNoData = _T("error-nodata");
377
378 const TCHAR* const kLocalSystemSid = _T("S-1-5-18");
379
380 // Time-related constants for defining durations.
381 const int kMsPerSec = 1000;
382 const int kSecPerMin = 60;
383 const int kMinPerHour = 60;
384 const int kSecondsPerHour = 60 * 60;
385 const int kSecondsPerDay = 24 * kSecondsPerHour;
386
387 // Defines LastCheckPeriodSec: the time interval between actual server
388 // update checks. Opt builds have an aggressive check for updates every 5 hours.
389 // This introduces some time shift for computers connected all the time, for
390 // example, the update checks occur at: 12, 17, 22, 3, 8, 13, 18, etc...
391 //
392 // Since time computation for LastChecked is done in seconds, sometimes it
393 // can miss an update check, depending on arithmetic truncations.
394 // Adjust down the LastCheckPeriod so that the update worker does not miss it.
395 //
396 // Almost 5 hours for production users and almost hourly for internal users.
397 const int kLastCheckPeriodSec = 5 * 59 * kMinPerHour;
398 const int kLastCheckPeriodInternalUserSec = 1 * 59 * kMinPerHour;
399
400
401 const int kMinLastCheckPeriodSec = 60; // 60 seconds minimum.
402
403 // Defines the time interval when the core is kicking off silent workers. When
404 // there is nothing to do, a worker does not take more than 200 ms to run.
405 // Internal users are supposed to update at least once every hour. Therefore,
406 // start workers every 30 minutes.
407 const int kAUCheckPeriodMs = 60 * 60 * 1000; // Hourly.
408 const int kAUCheckPeriodInternalUserMs = 30 * 60 * 1000; // 30 minutes.
409
410 // Avoids starting workers too soon. This helps reduce disk thrashing at
411 // boot or logon, as well as needlessly starting a worker after setting up.
412 const int kUpdateTimerStartupDelayMinMs = 5 * 60 * 1000; // 5 minutes.
413
414 // Maximum amount of time to wait before starting an update worker.
415 const int kUpdateTimerStartupDelayMaxMs = 15 * 60 * 1000; // 15 minutes.
416
417 // Minimum AU check interval is lowered to 3 seconds to speed up test
418 // automation.
419 const int kMinAUCheckPeriodMs = 1000 * 3; // 3 seconds.
420
421 // The Code Red check frequency.
422 const int kCodeRedCheckPeriodMs = 24 * 60 * 60 * 1000; // 24 hours.
423 const int kMinCodeRedCheckPeriodMs = 60 * 1000; // 1 minute.
424
425 // The minimum amount of time after a /oem install that Omaha is considered to
426 // be in OEM mode regardless of audit mode.
427 const int kMinOemModeSec = 72 * 60 * 60; // 72 hours.
428
429 // The amount of time to wait for the setup lock before giving up.
430 const int kSetupLockWaitMs = 1000; // 1 second.
431
432 // The amount of time to wait for other instances to shutdown before giving up.
433 const int kSetupInstallShutdownWaitMs = 45 * 1000; // 45 seconds.
434 const int kSetupUpdateShutdownWaitMs = 3 * 60 * 1000; // 3 minutes.
435
436 // Time to wait for the busy MSI when uninstalling. If MSI is found busy,
437 // Omaha won't uninstall. The timeout should be high enough so that it allows
438 // a normal application uninstall to finish and trigger an Omaha uninstall
439 // when needed.
440 const int kWaitForMSIExecuteMs = 5 * 60000; // 5 minutes.
441
442 // Name of the language key-value pair inside the version resource.
443 const TCHAR* const kLanguageVersionName = _T("LanguageId");
444
445 // Group name to use to read/write INI files for custom crash client info.
446 const TCHAR* const kCustomClientInfoGroup = _T("ClientCustomData");
447
448 // *** ***
449 // *** Custom HTTP request headers sent by Omaha. ***
450 // *** ***
451 const TCHAR* const kHeaderUserAgent = _T("User-Agent");
452
453 // The HRESULT and HTTP status code updated by the prior
454 // NetworkRequestImpl::DoSendHttpRequest() call.
455 const TCHAR* const kHeaderXLastHR = _T("X-Last-HR");
456 const TCHAR* const kHeaderXLastHTTPStatusCode = _T("X-Last-HTTP-Status-Code");
457
458 // The "mid" value if it exists in HKLM\SOFTWARE\Google\UpdateDev.
459 const TCHAR* const kHeaderXMID = _T("X-MID");
460
461 // The 407 retry count in the case of authenticated proxies.
462 const TCHAR* const kHeaderXProxyRetryCount = _T("X-Proxy-Retry-Count");
463
464 // Indicates that we had to prompt the user for proxy credentials.
465 const TCHAR* const kHeaderXProxyManualAuth = _T("X-Proxy-Manual-Auth");
466
467 // The age in seconds between the current time and when a ping was first
468 // persisted.
469 const TCHAR* const kHeaderXRequestAge = _T("X-RequestAge");
470
471 // The current retry count defined by the outermost
472 // NetworkRequestImpl::DoSendWithRetries() call.
473 const TCHAR* const kHeaderXRetryCount = _T("X-Retry-Count");
474
475 } // namespace omaha
476
477 #endif // OMAHA_BASE_CONSTANTS_H_
OLDNEW
« no previous file with comments | « base/const_utils.h ('k') | base/crash_if_specific_error.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698