<!DOCTYPE node PUBLIC
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">

  <interface name="org.freedesktop.UPower">
    <doc:doc>
      <doc:description>
        <doc:para>
          The UPower service is available via the system message
          bus. To access the service, use
          the <doc:tt>org.freedesktop.UPower</doc:tt> interface on
          the <doc:tt>/org/freedesktop/UPower</doc:tt> object on
          the D-Bus system bus service with the well-known
          name <doc:tt>org.freedesktop.UPower</doc:tt>.
        </doc:para>
        <doc:para>
          <doc:example language="shell" title="simple example">
            <doc:code>
$ dbus-send --print-reply \
            --system \
            --dest=org.freedesktop.UPower \
            /org/freedesktop/UPower \
            org.freedesktop.UPower.EnumerateDevices

method return sender=:1.386 -> dest=:1.451 reply_serial=2
   array [
      object path "/org/freedesktop/UPower/devices/line_power_AC"
      object path "/org/freedesktop/UPower/devices/battery_BAT0"
   ]
            </doc:code>
          </doc:example>
        </doc:para>
      </doc:description>
    </doc:doc>

    <!-- ************************************************************ -->

    <method name="EnumerateDevices">
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <arg name="devices" direction="out" type="ao">
        <doc:doc><doc:summary>An array of object paths for devices.</doc:summary></doc:doc>
      </arg>

      <doc:doc>
        <doc:description>
          <doc:para>
            Enumerate all power objects on the system.
          </doc:para>
        </doc:description>
      </doc:doc>
    </method>

    <!-- ************************************************************ -->

    <signal name="DeviceAdded">
      <arg name="device" type="o">
        <doc:doc><doc:summary>Object path of device that was added.</doc:summary></doc:doc>
      </arg>

      <doc:doc>
        <doc:description>
          <doc:para>
            Emitted when a device is added.
          </doc:para>
        </doc:description>
      </doc:doc>
    </signal>

    <!-- ************************************************************ -->

    <signal name="DeviceRemoved">
      <arg name="device" type="o">
        <doc:doc><doc:summary>Object path of device that was removed.</doc:summary></doc:doc>
      </arg>

      <doc:doc>
        <doc:description>
          <doc:para>
            Emitted when a device is removed.
          </doc:para>
        </doc:description>
      </doc:doc>
    </signal>

    <!-- ************************************************************ -->

    <property name="OnBattery" type="b" access="read">
      <doc:doc><doc:description><doc:para>
            Indicates whether the system is running on battery power.
            This property is provided for convenience.
      </doc:para></doc:description></doc:doc>
    </property>

  </interface>

</node>
