<node>
  <interface name="org.bluez.Adapter1">
    <method name="RegisterApplication">
      <arg direction="in" type="o" name="path"/>
      <arg direction="in" type="a{sv}" name="options"/>
    </method>
  </interface>

  <interface name="org.bluez.Device1">
    <property name="Adapter" type="o" access="read"/>
    <property name="Connected" type="b" access="read"/>
    <property name="ServicesResolved" type="b" access="read"/>
    <property name="Name" type="s" access="read"/>
    <property name="Alias" type="s" access="read"/>
    <property name="Address" type="s" access="read"/>
    <property name="Icon" type="s" access="read"/>
    <property name="Class" type="u" access="read"/>
    <property name="Appearance" type="q" access="read"/>
  </interface>

  <interface name="org.bluez.GattManager1">
    <method name="RegisterApplication">
      <arg direction="in" type="o" name="path"/>
      <arg direction="in" type="a{sv}" name="options"/>
    </method>
  </interface>

  <interface name="org.bluez.GattProfile1">
    <method name="Release">
    </method>
    <property name="UUIDs" type="as" access="read"/>
  </interface>

  <interface name="org.bluez.GattService1">
    <property name="UUID" type="s" access="read"/>
    <property name="Primary" type="b" access="read"/>
    <property name="Device" type="o" access="read"/>
  </interface>

  <interface name="org.bluez.GattCharacteristic1">
    <method name="ReadValue">
      <arg direction="in" type="a{sv}" name="options"/>
      <arg direction="out" type="ay" name="value"/>
    </method>
    <method name="AcquireNotify">
      <arg direction="in" type="a{sv}" name="options"/>
      <arg direction="out" type="h" name="fd"/>
      <arg direction="out" type="q" name="mtu"/>
    </method>
    <method name="AcquireWrite">
      <arg direction="in" type="a{sv}" name="options"/>
      <arg direction="out" type="h" name="fd"/>
      <arg direction="out" type="q" name="mtu"/>
    </method>
    <property name="UUID" type="s" access="read"/>
    <property name="Service" type="o" access="read"/>
    <property name="WriteAcquired" type="b" access="read"/>
    <property name="NotifyAcquired" type="b" access="read"/>
    <property name="Flags" type="as" access="read"/>
  </interface>

  <interface name="org.bluez.GattDescriptor1">
    <method name="ReadValue">
      <arg direction="in" type="a{sv}" name="options"/>
      <arg direction="out" type="ay" name="value"/>
    </method>
    <property name="UUID" type="s" access="read"/>
    <property name="Characteristic" type="o" access="read"/>
    <property name="Flags" type="as" access="read"/>
  </interface>
</node>
