<!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.URfkill.Device">
    <doc:doc>
      <doc:description>
        <doc:para>
          Objects implementing this interface are usually discovered through
          the <doc:tt>org.freedesktop.URfkill</doc:tt> interface on
          the <doc:tt>/org/freedesktop/URfkill</doc:tt> object on
          the D-Bus system bus service with the well-known
          name <doc:tt>org.freedesktop.URfkill</doc:tt> using
          the
          <doc:ref type="method" to="Rfkill.EnumerateDevices">EnumerateDevices</doc:ref>
          method.
        </doc:para>
        <doc:para>
          <doc:example language="shell" title="simple example">
            <doc:code>
$ dbus-send --print-reply \
            --system \
            --dest=org.freedesktop.URfkill \
            /org/freedesktop/URfkill/devices/0 \
            org.freedesktop.DBus.Properties.GetAll \
            string:org.freedesktop.URfkill.Device

method return sender=:1.164 -> dest=:1.169 reply_serial=2
   array [
      dict entry(
         string "index"
         variant             uint32 0
      )
      dict entry(
         string "type"
         variant             uint32 2
      )
      dict entry(
         string "name"
         variant             string "tpacpi_bluetooth_sw"
      )
      dict entry(
         string "soft"
         variant             boolean true
      )
      dict entry(
         string "hard"
         variant             boolean true
      )
   ]
            </doc:code>
          </doc:example>
        </doc:para>
      </doc:description>
    </doc:doc>

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

    <signal name="Changed">
      <doc:doc>
        <doc:description>
          <doc:para>
            Emitted when a property of the device is changed.
          </doc:para>
        </doc:description>
      </doc:doc>
    </signal>

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

    <property name="index" type="u" access="read">
      <doc:doc>
        <doc:description>
          <doc:para>
	    The index of the rfkill device
          </doc:para>
        </doc:description>
      </doc:doc>
    </property>

    <property name="type" type="u" access="read">
      <doc:doc>
        <doc:description>
          <doc:para>
	    The type of the rfkill device
          </doc:para>
          <doc:list>
            <doc:item>
              <doc:term>0</doc:term><doc:definition>All</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>1</doc:term><doc:definition>WLAN</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>2</doc:term><doc:definition>Bluetooth</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>3</doc:term><doc:definition>UWB</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>4</doc:term><doc:definition>WIMAX</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>5</doc:term><doc:definition>WWAN</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>6</doc:term><doc:definition>GPS</doc:definition>
            </doc:item>
            <doc:item>
              <doc:term>7</doc:term><doc:definition>FM</doc:definition>
            </doc:item>
          </doc:list>
        </doc:description>
      </doc:doc>
    </property>

    <property name="name" type="s" access="read">
      <doc:doc>
        <doc:description>
          <doc:para>
	    The name of the rfkill device
          </doc:para>
        </doc:description>
      </doc:doc>
    </property>

    <property name="soft" type="b" access="read">
      <doc:doc>
        <doc:description>
          <doc:para>
	    Whether the soft block of the device is on or not
          </doc:para>
        </doc:description>
      </doc:doc>
    </property>

    <property name="hard" type="b" access="read">
      <doc:doc>
        <doc:description>
          <doc:para>
	    Whether the hard block of the device is on or not
          </doc:para>
        </doc:description>
      </doc:doc>
    </property>

    <property name="platform" type="b" access="read">
      <doc:doc>
        <doc:description>
          <doc:para>
	    Whether the device is generated by a platform driver or not
          </doc:para>
        </doc:description>
      </doc:doc>
    </property>

  </interface>
</node>
