upload android base code part6
This commit is contained in:
parent
421e214c7d
commit
4e516ec6ed
35396 changed files with 9188716 additions and 0 deletions
139
android/system/update_engine/common/error_code.h
Normal file
139
android/system/update_engine/common/error_code.h
Normal file
|
@ -0,0 +1,139 @@
|
|||
//
|
||||
// Copyright (C) 2013 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#ifndef UPDATE_ENGINE_COMMON_ERROR_CODE_H_
|
||||
#define UPDATE_ENGINE_COMMON_ERROR_CODE_H_
|
||||
|
||||
#include <ostream> // NOLINT(readability/streams)
|
||||
|
||||
namespace chromeos_update_engine {
|
||||
|
||||
// Action exit codes.
|
||||
enum class ErrorCode : int {
|
||||
kSuccess = 0,
|
||||
kError = 1,
|
||||
kOmahaRequestError = 2,
|
||||
kOmahaResponseHandlerError = 3,
|
||||
kFilesystemCopierError = 4,
|
||||
kPostinstallRunnerError = 5,
|
||||
kPayloadMismatchedType = 6,
|
||||
kInstallDeviceOpenError = 7,
|
||||
kKernelDeviceOpenError = 8,
|
||||
kDownloadTransferError = 9,
|
||||
kPayloadHashMismatchError = 10,
|
||||
kPayloadSizeMismatchError = 11,
|
||||
kDownloadPayloadVerificationError = 12,
|
||||
kDownloadNewPartitionInfoError = 13,
|
||||
kDownloadWriteError = 14,
|
||||
kNewRootfsVerificationError = 15,
|
||||
kNewKernelVerificationError = 16,
|
||||
kSignedDeltaPayloadExpectedError = 17,
|
||||
kDownloadPayloadPubKeyVerificationError = 18,
|
||||
kPostinstallBootedFromFirmwareB = 19,
|
||||
kDownloadStateInitializationError = 20,
|
||||
kDownloadInvalidMetadataMagicString = 21,
|
||||
kDownloadSignatureMissingInManifest = 22,
|
||||
kDownloadManifestParseError = 23,
|
||||
kDownloadMetadataSignatureError = 24,
|
||||
kDownloadMetadataSignatureVerificationError = 25,
|
||||
kDownloadMetadataSignatureMismatch = 26,
|
||||
kDownloadOperationHashVerificationError = 27,
|
||||
kDownloadOperationExecutionError = 28,
|
||||
kDownloadOperationHashMismatch = 29,
|
||||
kOmahaRequestEmptyResponseError = 30,
|
||||
kOmahaRequestXMLParseError = 31,
|
||||
kDownloadInvalidMetadataSize = 32,
|
||||
kDownloadInvalidMetadataSignature = 33,
|
||||
kOmahaResponseInvalid = 34,
|
||||
kOmahaUpdateIgnoredPerPolicy = 35,
|
||||
kOmahaUpdateDeferredPerPolicy = 36,
|
||||
kOmahaErrorInHTTPResponse = 37,
|
||||
kDownloadOperationHashMissingError = 38,
|
||||
kDownloadMetadataSignatureMissingError = 39,
|
||||
kOmahaUpdateDeferredForBackoff = 40,
|
||||
kPostinstallPowerwashError = 41,
|
||||
kUpdateCanceledByChannelChange = 42,
|
||||
kPostinstallFirmwareRONotUpdatable = 43,
|
||||
kUnsupportedMajorPayloadVersion = 44,
|
||||
kUnsupportedMinorPayloadVersion = 45,
|
||||
kOmahaRequestXMLHasEntityDecl = 46,
|
||||
kFilesystemVerifierError = 47,
|
||||
kUserCanceled = 48,
|
||||
kNonCriticalUpdateInOOBE = 49,
|
||||
// kOmahaUpdateIgnoredOverCellular = 50,
|
||||
kPayloadTimestampError = 51,
|
||||
|
||||
// VERY IMPORTANT! When adding new error codes:
|
||||
//
|
||||
// 1) Update tools/metrics/histograms/histograms.xml in Chrome.
|
||||
//
|
||||
// 2) Update the assorted switch statements in update_engine which won't
|
||||
// build until this case is added.
|
||||
|
||||
// Any code above this is sent to both Omaha and UMA as-is, except
|
||||
// kOmahaErrorInHTTPResponse (see error code 2000 for more details).
|
||||
// Codes/flags below this line is sent only to Omaha and not to UMA.
|
||||
|
||||
// kUmaReportedMax is not an error code per se, it's just the count
|
||||
// of the number of enums above. Add any new errors above this line if you
|
||||
// want them to show up on UMA. Stuff below this line will not be sent to UMA
|
||||
// but is used for other errors that are sent to Omaha. We don't assign any
|
||||
// particular value for this enum so that it's just one more than the last
|
||||
// one above and thus always represents the correct count of UMA metrics
|
||||
// buckets, even when new enums are added above this line in future. See
|
||||
// metrics::ReportUpdateAttemptMetrics() on how this enum is used.
|
||||
kUmaReportedMax,
|
||||
|
||||
// use the 2xxx range to encode HTTP errors. These errors are available in
|
||||
// Dremel with the individual granularity. But for UMA purposes, all these
|
||||
// errors are aggregated into one: kOmahaErrorInHTTPResponse.
|
||||
kOmahaRequestHTTPResponseBase = 2000, // + HTTP response code
|
||||
|
||||
// TODO(jaysri): Move out all the bit masks into separate constants
|
||||
// outside the enum as part of fixing bug 34369.
|
||||
// Bit flags. Remember to update the mask below for new bits.
|
||||
|
||||
// Set if boot mode not normal.
|
||||
// TODO(garnold) This is very debatable value to use, knowing that the
|
||||
// underlying type is a signed int (often, 32-bit). However, at this point
|
||||
// there are parts of the ecosystem that expect this to be a negative value,
|
||||
// so we preserve this semantics. This should be reconsidered if/when we
|
||||
// modify the implementation of ErrorCode into a properly encapsulated class.
|
||||
kDevModeFlag = 1 << 31,
|
||||
|
||||
// Set if resuming an interruped update.
|
||||
kResumedFlag = 1 << 30,
|
||||
|
||||
// Set if using a dev/test image as opposed to an MP-signed image.
|
||||
kTestImageFlag = 1 << 29,
|
||||
|
||||
// Set if using devserver or Omaha sandbox (using crosh autest).
|
||||
kTestOmahaUrlFlag = 1 << 28,
|
||||
|
||||
// Mask that indicates bit positions that are used to indicate special flags
|
||||
// that are embedded in the error code to provide additional context about
|
||||
// the system in which the error was encountered.
|
||||
kSpecialFlags =
|
||||
(kDevModeFlag | kResumedFlag | kTestImageFlag | kTestOmahaUrlFlag)
|
||||
};
|
||||
|
||||
inline std::ostream& operator<<(std::ostream& os, ErrorCode val) {
|
||||
return os << static_cast<int>(val);
|
||||
}
|
||||
|
||||
} // namespace chromeos_update_engine
|
||||
|
||||
#endif // UPDATE_ENGINE_COMMON_ERROR_CODE_H_
|
Loading…
Add table
Add a link
Reference in a new issue