<?xml version="1.0"?>
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
  "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/org/chromium/PowerManager"
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.chromium.PowerManager">
    <method name="RequestShutdown">
      <tp:docstring>
        The |reason| arg is a power_manager::RequestShutdownReason value.
        The |description| arg is a human-readable string describing the reason
        for the request; it is logged by powerd.
      </tp:docstring>
      <arg name="reason" direction="in" type="i" />
      <arg name="description" direction="in" type="s" />
    </method>
    <method name="RequestRestart">
      <tp:docstring>
        The |reason| arg is a power_manager::RequestRestartReason value.
        The |description| arg is a human-readable string describing the reason
        for the request; it is logged by powerd.
      </tp:docstring>
      <arg name="reason" direction="in" type="i" />
      <arg name="description" direction="in" type="s" />
    </method>
    <method name="RequestSuspend">
      <tp:docstring>
        The |external_wakeup_count| arg is optional, and it will call two
        different methods in the backend. This can't be expressed in the DBus
        Introspection XML file.
      </tp:docstring>
      <arg name="external_wakeup_count" direction="in" type="t" />
    </method>
    <method name="SetScreenBrightness">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::SetBacklightBrightnessRequest protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>
    <method name="DecreaseScreenBrightness">
      <arg name="allow_off" direction="in" type="b" />
    </method>
    <method name="IncreaseScreenBrightness" />
    <method name="GetScreenBrightnessPercent">
      <arg name="percent" direction="out" type="d" />
    </method>
    <method name="DecreaseKeyboardBrightness" />
    <method name="IncreaseKeyboardBrightness" />
    <method name="GetPowerSupplyProperties">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::PowerSupplyProperties protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="out" type="ay" />
    </method>
    <method name="HandleVideoActivity">
      <arg name="fullscreen" direction="in" type="b" />
    </method>
    <method name="HandleUserActivity">
      <tp:docstring>
        The |type| arg is a power_manager::UserActivityType.
      </tp:docstring>
      <arg name="type" direction="in" type="i" />
    </method>
    <method name="SetIsProjecting">
      <arg name="is_projecting" direction="in" type="b" />
    </method>
    <method name="SetPolicy">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::PowerManagementPolicy protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>
    <method name="SetPowerSource">
      <arg name="id" direction="in" type="s" />
    </method>
    <method name="HandlePowerButtonAcknowledgment">
      <tp:docstring>
        The |timestamp_internal| arg is represented as the return value of
        base::TimeTicks::ToInternalValue().
      </tp:docstring>
      <arg name="timestamp_internal" direction="in" type="x" />
    </method>
    <method name="IgnoreNextPowerButtonPress">
      <tp:docstring>
        The |timeout_internal| arg is represented as the return value of
        base::TimeDelta::ToInternalValue(). Setting it to 0 cancels a
        previously set period.
      </tp:docstring>
      <arg name="timeout_internal" direction="in" type="x" />
    </method>

    <method name="RegisterSuspendDelay">
      <tp:docstring>
        The |serialized_request_proto| arg is a serialized
        power_manager::RegisterSuspendDelayRequest protobuf.
        The |serialized_reply_proto| arg is a serialized
        RegisterSuspendDelayReply protobuf.
      </tp:docstring>
      <arg name="serialized_request_proto" direction="in" type="ay" />
      <arg name="serialized_reply_proto" direction="out" type="ay" />
    </method>
    <method name="UnregisterSuspendDelay">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::UnregisterSuspendDelayRequest protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>

    <method name="HandleSuspendReadiness">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::SuspendReadinessInfo protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>
    <method name="RegisterDarkSuspendDelay">
      <tp:docstring>
        The |serialized_request_proto| arg is a serialized
        power_manager::RegisterSuspendDelayRequest protobuf.
        The |serialized_reply_proto| arg is a serialized
        RegisterSuspendDelayReply protobuf.
      </tp:docstring>
      <arg name="serialized_request_proto" direction="in" type="ay" />
      <arg name="serialized_reply_proto" direction="out" type="ay" />
    </method>
    <method name="UnregisterDarkSuspendDelay">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::UnregisterSuspendDelayRequest protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>
    <method name="HandleDarkSuspendReadiness">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::SuspendReadinessInfo protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>
    <method name="RecordDarkResumeWakeReason">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::DarkResumeWakeReason protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="in" type="ay" />
    </method>
    <method name="GetInactivityDelays">
      <tp:docstring>
        |serialized_reply_proto| is a serialized
        power_manager::PowerManagementPolicy::Delays protobuf describing the
        current inactivity delays.
      </tp:docstring>
      <arg name="serialized_reply_proto" direction="out" type="ay" />
    </method>

    <!-- Signals -->
    <signal name="ScreenBrightnessChanged">
      <tp:docstring>
        |serialized_proto| is a serialized
        power_manager::BacklightBrightnessChange protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="out" type="ay" />
    </signal>
    <signal name="KeyboardBrightnessChanged">
      <tp:docstring>
        |serialized_proto| is a serialized
        power_manager::BacklightBrightnessChange protobuf.
      </tp:docstring>
      <arg name="serialized_proto" direction="out" type="ay" />
    </signal>
    <!-- TODO(derat): Remove this once Chrome is no longer consuming it:
         https://crbug.com/811138 -->
    <signal name="BrightnessChanged">
      <arg name="brightness_percent" type="i" />
      <arg name="user_initiated" type="b" />
    </signal>

    <signal name="PeripheralBatteryStatus">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::PeripheralBatteryStatus protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>
    <signal name="PowerSupplyPoll">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::PowerSupplyProperties protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>

    <signal name="SuspendImminent">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::SuspendImminent protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>
    <signal name="SuspendDone">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::SuspendDone protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>
    <signal name="DarkSuspendImminent">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::SuspendImminent protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>

    <signal name="InputEvent">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::InputEvent protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>

    <signal name="IdleActionImminent">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::IdleActionImminent protobuf.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>
    <signal name="IdleActionDeferred" />

    <signal name="ScreenIdleStateChanged">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::ScreenIdleState protobuf describing the current
        idle-related state of the display.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>
    <signal name="InactivityDelaysChanged">
      <tp:docstring>
        The |serialized_proto| arg is a serialized
        power_manager::PowerManagementPolicy::Delays protobuf describing the
        current inactivity delays.
      </tp:docstring>
      <arg name="serialized_proto" type="ay" />
    </signal>
  </interface>
</node>
