// 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 chrome.system.powerSource 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); }; };