<?xml version="1.0" encoding="UTF-8"?>
<node name="/">
  <interface name="org.freedesktop.PowerManagement">

    <!-- Attempt to suspend the system. -->
    <method name="Suspend"></method>

    <!-- Attempt to hibernate the system. -->
    <method name="Hibernate"></method>

    <!-- Attempt to shutdown the system. -->
    <method name="Reboot"></method>

    <!-- Attempt to reboot the system. -->
    <method name="Shutdown"></method>

    <!-- If the current session user is able to suspend. -->
    <method name="CanSuspend">
      <arg type="b" name="can_suspend" direction="out"/>
    </method>

    <!-- If the current session user is able to hibernate. -->
    <method name="CanHibernate">
      <arg type="b" name="can_hibernate" direction="out"/>
    </method>

    <!-- If the current session user is able to reboot. -->
    <method name="CanReboot">
      <arg type="b" name="can_restart" direction="out"/>
    </method>

    <!-- If the current session user is able to shutdown. -->
    <method name="CanShutdown">
      <arg type="b" name="can_shutdown" direction="out"/>
    </method>

    <!-- Returns true if low power mode has been set.
         This may be set on AC or battery power, both, or neither depending on
         the users policy setting.
         This setting may also change with the battery level changing.
         Programs should respect this value for the session. -->
    <method name="GetLowPowerMode">
      <arg type="b" name="low_power" direction="out"/>
    </method>

    <!-- Returns the system AC state, i.e. if we are not running on battery
         power.
         Note: This method may still return false on AC using a desktop system
         if the computer is using backup power from a monitored UPS. -->
    <method name="GetAcState">
      <arg type="b" name="ac_state" direction="out"/>
    </method>

    <!-- Returns the system state description, used commonly as the tooltip
         for a applet or system tray icon. -->
    <method name="GetDescription">
      <arg type="s" name="description" direction="out"/>
    </method>

    <!-- Returns the icon name used as the applet or status tray icon. -->
    <method name="GetIcon">
      <arg type="s" name="icon" direction="out"/>
    </method>

    <!-- Returns the current brightness percentage. -->
    <method name="GetBacklightBrightness">
      <arg type="u" name="percentage_brightness" direction="out"/>
    </method>
    
    <!-- This may not immediately set the brightness if we are in a low power
         sleep mode, if the panel is switched off, or if the panel is in an
         idle dim state. -->
    <method name="SetBacklightBrightness">
      <arg type="u" name="percentage_brightness" direction="in"/>
    </method>

    <!-- Signals the value of the current brightness has changed. -->
    <signal name="BacklightBrightnessChanged"/>

    <!-- Signals the AC state has changed. -->
    <signal name="AcStateChanged"/>

    <!-- Signals the low power mode has changed. -->
    <signal name="LowPowerModeChanged"/>

    <!-- Signals the system state description has changed. -->
    <signal name="DescriptionChanged"/>

    <!-- Signals the system icon has changed. -->
    <signal name="IconChanged"/>
  </interface>
</node>
