<?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" />
    <method name="RequestRestart">
      <tp:docstring>
        The |reason| arg is a power_manager::RequestRestartReason value.
      </tp:docstring>
      <arg name="reason" direction="in" type="i" />
    </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="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="SetScreenBrightnessPercent">
      <tp:docstring>
        The |style| arg must be one of the values:
          power_manager::kBrightnessTransitionGradual or
          power_manager::kBrightnessTransitionInstant.
      </tp:docstring>
      <arg name="percent" direction="in" type="d" />
      <arg name="style" direction="in" type="i" />
    </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="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>

    <!-- Signals -->
    <signal name="BrightnessChanged">
      <arg name="brightness_percent" type="i" />
      <arg name="user_initiated" type="b" />
    </signal>
    <signal name="KeyboardBrightnessChanged">
      <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" />
  </interface>
</node>
