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

<node name="/org/chromium/lorgnette/Manager" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensio
ns-v0">
  <interface name="org.chromium.lorgnette.Manager">
    <method name="ListScanners">
      <tp:docstring>
      </tp:docstring>
      <arg name="scanner_list" type="ay" direction="out">
        <tp:docstring>
          The list of connected scanners. Returns a protobuf representing a list
          of SaneDevice structs as provided by SANE.
        </tp:docstring>
      </arg>
    </method>
    <method name="GetScannerCapabilities">
      <tp:docstring>
        Returns the supported capabilities for scanner |device_name|.
      </tp:docstring>
      <arg name="device_name" type="s" direction="in">
        <tp:docstring>
          Device name (gained from "ListScanners").
        </tp:docstring>
      </arg>
      <arg name="capabilities" type="ay" direction="out">
        <tp:docstring>
          Serialized ScannerCapabilities proto.
        </tp:docstring>
      </arg>
    </method>
    <method name="ScanImage">
      <tp:docstring>
        Initiates a scan on |device_name|, and output PNG data to |outfd|.
      </tp:docstring>
      <arg name="device_name" type="s" direction="in"/>
        <tp:docstring>
          Device name (gained from "ListScanners").
        </tp:docstring>
      <arg name="outfd" type="h" direction="in"/>
        <tp:docstring>
          Output file descriptor.  PNG image data will be written to this fd.
        </tp:docstring>
      <arg name="scan_properties" type="a{sv}" direction="in"/>
        <tp:docstring>
          A dict of key-value pairs which define parameters of the scan.
          Accepted keys are.

            Mode (string): Capture mode (can be "Color", "Gray",
                "Lineart".)
            Resolution (uint32): Image resolution in DPI.
        </tp:docstring>
    </method>
    <method name="StartScan">
      <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
      <tp:docstring>
        Initiates an asynchronous scan job, outputting PNG data to |outfd|.
        A response will be sent once the scan has been successfully started,
        or if starting the scan failed.
      </tp:docstring>
      <arg name="start_scan_request" type="ay" direction="in"/>
        <tp:docstring>
          Serialized StartScanRequest proto specifying the scanner to use and
          the settings for the scan.
        </tp:docstring>
      <arg name="outfd" type="h" direction="in"/>
        <tp:docstring>
          Output file descriptor. PNG image data will be written to this fd.
        </tp:docstring>
      <arg name="scan_status_response" type="ay" direction="out" />
    </method>
    <signal name="ScanStatusChanged">
      <arg name="scan_status_changed_signal" type="ay" direction="out" />
        <tp:docstring>
          A serialized ScanStatusChangedSignal proto, containing a scan id, scan
          state, and potentially a failure reason or progress percentage.
        </tp:docstring>
    </signal>
  </interface>
</node>
