blob: 9b4e7a36c24d8b364e84b1b92490bc940f65ee4f [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef RMAD_METRICS_METRICS_CONSTANTS_H_
#define RMAD_METRICS_METRICS_CONSTANTS_H_
#include <array>
#include "rmad/proto_bindings/rmad.pb.h"
namespace rmad {
// JsonStore additional keys for metrics usage.
inline constexpr char kFirstSetupTimestamp[] = "first_setup_timestamp";
inline constexpr char kSetupTimestamp[] = "setup_timestamp";
inline constexpr char kRunningTime[] = "running_time";
inline constexpr char kRoFirmwareVerified[] = "ro_firmware_verified";
inline constexpr char kWriteProtectDisableMethod[] =
"write_protect_disable_method";
inline constexpr char kOccurredErrors[] = "occurred_errors";
inline constexpr char kAdditionalActivities[] = "additional_activities";
// Defined RO verification status.
enum class RoVerification : int {
UNKNOWN = 0,
PASS = 1,
UNSUPPORTED = 2,
};
// Defined returning owner.
enum class ReturningOwner : int {
UNKNOWN = 0,
SAME_OWNER = 1,
DIFFERENT_OWNER = 2,
};
// Defined mainboard replacement status.
enum class MainboardReplacement : int {
UNKNOWN = 0,
REPLACED = 1,
ORIGINAL = 2,
};
// Defined write protection disable method.
enum class WriteProtectDisableMethod : int {
UNKNOWN = 0,
SKIPPED = 1,
RSU = 2,
PHYSICAL_ASSEMBLE_DEVICE = 3,
PHYSICAL_KEEP_DEVICE_OPEN = 4,
};
constexpr std::array<WriteProtectDisableMethod, 4> kValidWpDisableMethods = {
WriteProtectDisableMethod::SKIPPED, WriteProtectDisableMethod::RSU,
WriteProtectDisableMethod::PHYSICAL_ASSEMBLE_DEVICE,
WriteProtectDisableMethod::PHYSICAL_KEEP_DEVICE_OPEN};
// Defined additional activities.
enum class AdditionalActivity : int {
NOTHING = 0,
SHUTDOWN = 1,
REBOOT = 2,
BATTERY_CUTOFF = 3,
DIAGNOSTICS = 4,
};
constexpr std::array<AdditionalActivity, 4> kValidAdditionalActivities = {
AdditionalActivity::SHUTDOWN, AdditionalActivity::REBOOT,
AdditionalActivity::BATTERY_CUTOFF, AdditionalActivity::DIAGNOSTICS};
constexpr std::array<AdditionalActivity, 3> kExpectedPowerCycleActivities = {
AdditionalActivity::SHUTDOWN, AdditionalActivity::REBOOT,
AdditionalActivity::BATTERY_CUTOFF};
constexpr std::array<RmadErrorCode, 6> kExpectedErrorCodes = {
RMAD_ERROR_NOT_SET,
RMAD_ERROR_OK,
RMAD_ERROR_WAIT,
RMAD_ERROR_EXPECT_REBOOT,
RMAD_ERROR_EXPECT_SHUTDOWN,
RMAD_ERROR_RMA_NOT_REQUIRED};
} // namespace rmad
#endif // RMAD_METRICS_METRICS_CONSTANTS_H_