// Copyright 2020 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package power_manager;
option go_package = "chromiumos/system_api/power_manager_proto";

// Device thermal state change notification from powerd to Chrome.
message ThermalEvent {

  // Current device's temperature-related state.
  // This is similar to MacOS NSProcessInfoThermalState.
  enum ThermalState {
    UNKNOWN = 0;
    // The device's temperature-related conditions (thermals) are at an
    // acceptable level. There is no noticeable negative impact to the user.
    NOMINAL = 1;
    // Thermals are minimally elevated. On devices with fans, those fans may
    // become active, audible, and distracting to the user. Energy usage is
    // elevated, potentially reducing battery life.
    FAIR = 2;
    // Thermals are highly elevated. Fans are active, running at maximum speed,
    // audible, and distracting to the user. System performance may also be
    // impacted as the system begins enacting countermeasures to reduce thermals
    // to a more acceptable level.
    SERIOUS = 3;
    // Thermals are significantly elevated. The device needs to cool down.
    CRITICAL = 4;
  }
  optional ThermalState thermal_state = 1;

  // Monotonically-increasing time at which this event occurred, as given by
  // base::TimeTicks::ToInternalValue().
  optional int64 timestamp = 2;
}
