| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Private API for HDMI CEC functionality. |
| [platforms=("chromeos")] |
| namespace cecPrivate { |
| |
| enum DisplayCecPowerState { |
| // There was an error querying the power state of the display. |
| error, |
| |
| // The kernel adapter for the CEC endpoint isn't configured (no EDID set). |
| adapterNotConfigured, |
| |
| // No device ACKed the request on the CEC bus. |
| noDevice, |
| |
| // The display is a powered on state. |
| on, |
| |
| // The display is in standby mode. |
| standby, |
| |
| // The display is currently transitioning to an awake state. It can't be |
| // relied on to show any output yet. |
| transitioningToOn, |
| |
| // The display is currently transitioning to standby. |
| transitioningToStandby, |
| |
| // Found a CEC endpoint but unable to determine the power state. |
| unknown |
| }; |
| |
| callback DisplayCecPowerStateCallback = |
| void(DisplayCecPowerState[] powerStates); |
| |
| callback ChangePowerStateCallback = void(); |
| |
| interface Functions { |
| // Attempt to put all HDMI CEC compatible devices in standby. |
| // |
| // This is not guaranteed to have any effect on the connected displays. |
| // Displays that do not support HDMI CEC will not be affected. |
| // |
| // |callback| will be run as soon as all displays have been requested to |
| // change their power state. |
| static void sendStandBy( |
| optional ChangePowerStateCallback callback); |
| |
| // Attempt to announce this device as the active input source towards all |
| // HDMI CEC enabled displays connected, waking them from standby if |
| // necessary. |
| // |
| // |callback| will be run as soon as all displays have been requested to |
| // change their power state. |
| static void sendWakeUp( |
| optional ChangePowerStateCallback callback); |
| |
| // Queries all HDMI CEC capable displays for their current power state. |
| static void queryDisplayCecPowerState( |
| DisplayCecPowerStateCallback callback); |
| }; |
| }; |