blob: 2c7a45f6abb59ad409442395ad6c92aee3f221df [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 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 additional activities.
enum class AdditionalActivity : int {
NOTHING = 0,
SHUTDOWN = 1,
REBOOT = 2,
BATTERY_CUTOFF = 3,
DIAGNOSTICS = 4,
OS_UPDATE = 5,
};
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_