blob: 012db2946323a58416d5982c0dea4a0b4b441ef1 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// The <code>chrome.system.powerSource</code> API allows Chrome Kiosk Apps to
// query the state of connected power sources.
[platforms=("chromeos")]
namespace system.powerSource {
enum PowerSourceType {
// Unspecified type.
unknown,
// Dedicated charger. Typically single-purpose and non-USB (e.g. barrel
// jack plugs).
mains,
// USB charger, including both low-power Type-A chargers and high-power
// Type-C chargers using USB Power Delivery.
usb
};
dictionary PowerSourceInfo {
// Type of power source.
PowerSourceType type;
// Maximum power this source is capable of delivering if known. Reported in
// watts, rounded to two significant digits.
double? maxPower;
// Whether this power source is connected to the device.
boolean active;
};
callback PowerSourceInfoCallback =
void(optional PowerSourceInfo[] powerSourceInfo);
interface Functions {
// Requests information on attached power sources.
// |callback|: The callback to invoke with the results or
// undefined if the power source information is not known.
static void getPowerSourceInfo(PowerSourceInfoCallback callback);
// Requests a power source status update. Resulting power source status
// updates are observable using $(ref:onPowerChanged).
static void requestStatusUpdate();
};
interface Events {
// Event for changes in the set of connected power sources.
static void onPowerChanged(PowerSourceInfo[] powerSourceInfo);
};
};