| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.power.test; |
| |
| using fuchsia.power; |
| using zx; |
| |
| /// Controller interface to allow modification of battery state. |
| protocol BatterySimulatorController { |
| |
| /// Gets battery info. This should be called after |
| /// DisconnectRealBattery |
| GetBatteryInfo() -> (fuchsia.power.BatteryInfo info); |
| |
| /// Sets Battery Status. This should be called after |
| /// DisconnectRealBattery |
| SetBatteryStatus(fuchsia.power.BatteryStatus battery_status); |
| |
| /// Sets Charge Status. This should be called after |
| /// DisconnectRealBattery |
| SetChargeStatus(fuchsia.power.ChargeStatus charge_status); |
| |
| /// Sets Charge Source. This should be called after |
| /// DisconnectRealBattery |
| SetChargeSource(fuchsia.power.ChargeSource charge_source); |
| |
| /// Sets Battery Percentage. This should be called after |
| /// DisconnectRealBattery |
| SetBatteryPercentage(float32 percent); |
| |
| /// Sets Level Status. This should be called after |
| /// DisconnectRealBattery |
| SetLevelStatus(fuchsia.power.LevelStatus level_status); |
| |
| /// Sets Time Remaining to full charge / depletion |
| /// This should be called after DisconnectRealBattery |
| SetTimeRemaining(zx.duration duration); |
| |
| /// Disconnect the real battery connection |
| DisconnectRealBattery(); |
| |
| /// Gets Simulation State |
| IsSimulating() -> (bool simulation_state); |
| |
| /// Reconnect to the real battery |
| /// This should be called after DisconnectRealBattery |
| ReconnectRealBattery(); |
| }; |
| |
| /// Simulator interface for battery simulation |
| [Discoverable] |
| protocol BatterySimulator { |
| // Provides commands to modify battery state |
| compose BatterySimulatorController; |
| }; |