chromium/chrome/installer/util/util_constants.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Defines all install related constants that need to be used by Chrome as
// well as Chrome Installer.

#ifndef CHROME_INSTALLER_UTIL_UTIL_CONSTANTS_H_
#define CHROME_INSTALLER_UTIL_UTIL_CONSTANTS_H_

#include <stddef.h>

#include "base/files/file_path.h"

namespace installer {

// Return status of installer. Values in this enum must not change. Always add
// to the end. When removing an unused value, retain the deprecated name and
// value in a comment for posterity's sake, but take the liberty of removing the
// old doc string.
// The values in this enum must be kept in sync with the SetupInstallResult enum
// in enums.xml
enum InstallStatus {};

// The type of an update archive.
enum ArchiveType {};

// Stages of an installation from which a progress indication is derived.
// Generally listed in the order in which they are reached. The exceptions to
// this are the fork-and-join for diff vs. full installers (where there are
// additional (costly) stages for the former) and rollback in case of error.
enum InstallerStage {};

namespace switches {

extern const char kAllowDowngrade[];
extern const char kChannel[];
extern const char kConfigureUserSettings[];
extern const char kCreateShortcuts[];
extern const char kCriticalUpdateVersion[];
extern const char kDeleteDMToken[];
extern const char kDeleteOldVersions[];
extern const char kDeleteProfile[];
extern const char kDisableLogging[];
extern const char kDmServerUrl[];
extern const char kDoNotLaunchChrome[];
extern const char kDoNotRegisterForUpdateLaunch[];
extern const char kDoNotRemoveSharedItems[];
extern const char kEnableLogging[];
extern const char kForceConfigureUserSettings[];
extern const char kForceUninstall[];
extern const char kInstallArchive[];
extern const char kInstallerData[];
extern const char kInstallLevel[];
extern const char kLogFile[];
extern const char kMakeChromeDefault[];
extern const char kMsi[];
extern const char kNewSetupExe[];
extern const char kNonce[];
extern const char kOnOsUpgrade[];
extern const char kPreviousVersion[];
extern const char kReenableAutoupdates[];
extern const char kRegisterChromeBrowser[];
extern const char kRegisterChromeBrowserSuffix[];
extern const char kRegisterDevChrome[];
extern const char kRegisterURLProtocol[];
extern const char kRemoveChromeRegistration[];
extern const char kRenameChromeExe[];
extern const char kRotateDeviceTrustKey[];
extern const char kRunAsAdmin[];
extern const char kSelfDestruct[];
extern const char kShowEula[];
extern const char kStoreDMToken[];
extern const char kSystemLevel[];
extern const char kTriggerActiveSetup[];
extern const char kUncompressedArchive[];
extern const char kUninstall[];
extern const char kUpdateSetupExe[];
extern const char kVerboseLogging[];

}  // namespace switches

namespace env_vars {

extern const char kGoogleUpdateIsMachineEnvVar[];

}  // namespace env_vars

extern const wchar_t kActiveSetupExe[];
extern const wchar_t kChromeDll[];
extern const wchar_t kChromeExe[];
extern const wchar_t kChromeNewExe[];
extern const wchar_t kChromeOldExe[];
extern const wchar_t kChromeProxyExe[];
extern const wchar_t kChromeProxyNewExe[];
extern const wchar_t kChromeProxyOldExe[];
extern const wchar_t kCmdAlternateRenameChromeExe[];
extern const wchar_t kCmdRenameChromeExe[];
extern const wchar_t kCmdOnOsUpgrade[];
extern const wchar_t kCmdRotateDeviceTrustKey[];
extern const wchar_t kCmdStoreDMToken[];
extern const wchar_t kCmdDeleteDMToken[];
extern const wchar_t kEulaSentinelFile[];
extern const wchar_t kInstallBinaryDir[];
extern const wchar_t kInstallerDir[];
extern const wchar_t kInstallTempDir[];
extern const wchar_t kLnkExt[];
extern const wchar_t kNotificationHelperExe[];
extern const wchar_t kRegDowngradeVersion[];
extern const wchar_t kSetupExe[];
extern const wchar_t kUninstallArgumentsField[];
extern const wchar_t kUninstallDisplayNameField[];
extern const wchar_t kUninstallInstallationDate[];
extern const wchar_t kUninstallStringField[];
extern const wchar_t kWerDll[];

// Elevation Service constants.
extern const base::FilePath::CharType kElevationServiceExe[];

// Google Update installer result API.
extern const wchar_t kInstallerError[];
extern const wchar_t kInstallerExtraCode1[];
extern const wchar_t kInstallerResult[];
extern const wchar_t kInstallerResultUIString[];
extern const wchar_t kInstallerSuccessLaunchCmdLine[];

// Chrome channel display names.
// NOTE: Canary is not strictly a 'channel', but rather a separate product
//     installed side-by-side. However, GoogleUpdateSettings::GetChromeChannel
//     will return "canary" for that product.
extern const wchar_t kChromeChannelUnknown[];
extern const wchar_t kChromeChannelCanary[];
extern const wchar_t kChromeChannelDev[];
extern const wchar_t kChromeChannelBeta[];
extern const wchar_t kChromeChannelStable[];
extern const wchar_t kChromeChannelStableExplicit[];

extern const size_t kMaxAppModelIdLength;
enum : size_t {};

// Name of the allocator (and associated file) for storing histograms to be
// reported by Chrome during its next upload.
extern const char kSetupHistogramAllocatorName[];

}  // namespace installer

#endif  // CHROME_INSTALLER_UTIL_UTIL_CONSTANTS_H_