<?xml version="1.0" encoding="UTF-8" ?>

<node name="/org/chromium/ArcAppfuseProvider"
      xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.chromium.ArcAppfuseProvider">
    <method name="Mount">
      <tp:docstring>
        Mounts a new appfuse file system and returns a filtered /dev/fuse FD
        associated with the mounted file system.
      </tp:docstring>
      <arg name="uid" type="u" direction="in">
        <tp:docstring>
          UID of the requester process.
        </tp:docstring>
      </arg>
      <arg name="mount_id" type="i" direction="in">
        <tp:docstring>
          ID of the appfuse file system.
        </tp:docstring>
      </arg>
      <arg name="fd" type="h" direction="out">
        <tp:docstring>
          Filtered /dev/fuse FD associated with the appfuse file system.
        </tp:docstring>
      </arg>
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </method>
    <method name="Unmount">
      <tp:docstring>
        Unmounts the specified appfuse file system.
      </tp:docstring>
      <arg name="uid" type="u" direction="in">
        <tp:docstring>
          UID of the requester process.
        </tp:docstring>
      </arg>
      <arg name="mount_id" type="i" direction="in">
        <tp:docstring>
          ID of the appfuse file system.
        </tp:docstring>
      </arg>
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </method>
    <method name="OpenFile">
      <tp:docstring>
        Opens a file under the specified appfuse file system.
      </tp:docstring>
      <arg name="uid" type="u" direction="in">
        <tp:docstring>
          UID of the requester process.
        </tp:docstring>
      </arg>
      <arg name="mount_id" type="i" direction="in">
        <tp:docstring>
          ID of the mounted file system.
        </tp:docstring>
      </arg>
      <arg name="file_id" type="i" direction="in">
        <tp:docstring>
          ID of the file.
        </tp:docstring>
      </arg>
      <arg name="flags" type="i" direction="in">
        <tp:docstring>
          Flags for open() syscall.
        </tp:docstring>
      </arg>
      <arg name="fd" type="h" direction="out">
        <tp:docstring>
          FD of the specified file.
        </tp:docstring>
      </arg>
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </method>
  </interface>
</node>
