chromium/services/device/public/mojom/power_monitor.mojom

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module device.mojom;

interface PowerMonitor {
  // Add a client that will be notified on PowerStateChange, Suspend and Resume.
  AddClient(pending_remote<PowerMonitorClient> client);
};

interface PowerMonitorClient {
  // Notification of a change in power status of the computer, such
  // as from switching between battery and A/C power.
  PowerStateChange(bool on_battery_power);

  // Notification that the system is suspending.
  Suspend();

  // Notification that the system is resuming.
  Resume();
};