<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Copyright 2018 The Chromium Authors. All rights reserved.
  Use of this source code is governed by a BSD-style license that can be
  found in the LICENSE file.
-->
<node name="/org/chromium/DlcService"
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.chromium.DlcServiceInterface">
  <method name="InstallDlc">
    <tp:docstring>
      Install a Downloadable Content (DLC).
    </tp:docstring>
    <arg name="id" type="s" direction="in">
      <tp:docstring>
        The ID of the DLC.
      </tp:docstring>
    </arg>
  </method>
  <method name="InstallWithOmahaUrl">
    <tp:docstring>
      Install a DLC with a given Omaha URL.
    </tp:docstring>
    <arg name="id" type="s" direction="in">
      <tp:docstring>
        The ID of the DLC.
      </tp:docstring>
    </arg>
    <arg name="omaha_url" type="s" direction="in">
      <tp:docstring>
        The Omaha URL to install the DLC from.
      </tp:docstring>
    </arg>
  </method>
  <method name="Uninstall">
    <tp:docstring>
      Uninstall a Downloadable Content (DLC).
    </tp:docstring>
    <arg name="id" type="s" direction="in">
      <tp:docstring>
        The ID of the DLC.
      </tp:docstring>
    </arg>
  </method>
  <method name="Purge">
    <tp:docstring>
      Removes a DLC and all files related to it.
    </tp:docstring>
    <arg name="id" type="s" direction="in">
      <tp:docstring>
        ID of the DLC.
      </tp:docstring>
    </arg>
  </method>
  <method name="GetInstalled">
    <tp:docstring>
      Returns a list of installed Downloadable Content (DLC) IDs that are
      installed.
    </tp:docstring>
    <arg name="ids" type="as" direction="out">
      <tp:docstring>
        A list of DLC IDs of installed DLCs.
      </tp:docstring>
    </arg>
  </method>
  <method name="GetExistingDlcs">
    <tp:docstring>
      Returns a list of DLCs that have content on disk.
    </tp:docstring>
    <arg name="dlc_list" type="ay" direction="out">
      <tp:docstring>
        A serialized protobuf (DlcsWithContent,
        platform2/system_api/dbus/dlcservice/dlcservice.proto) of a list of
        DLCs that have content on disk.
      </tp:docstring>
      <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                  value="dlcservice::DlcsWithContent"/>
    </arg>
  </method>
  <method name="GetDlcsToUpdate">
    <tp:docstring>
      Returns a list of DLCs that need to be updated. The implementation needs
      to make sure the target DLC images are ready to be updated.
    </tp:docstring>
    <arg name="ids" type="as" direction="out">
      <tp:docstring>
        A list of DLC IDs for DLCs that need to be updated.
      </tp:docstring>
    </arg>
  </method>
  <method name="GetDlcState">
    <tp:docstring>
      Returns the state of a DLC.
    </tp:docstring>
    <arg name="id" type="s" direction="in">
      <tp:docstring>
        ID of the DLC module.
      </tp:docstring>
    </arg>
    <arg name="state" type="ay" direction="out">
      <tp:docstring>
        A serialized protobuf (DlcState,
        platform2/system_api/dbus/dlcservice/dlcservice.proto) indicating
        the state of a DLC.
      </tp:docstring>
      <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                  value="dlcservice::DlcState"/>
    </arg>
  </method>
  <method name="InstallCompleted">
    <tp:docstring>
      Notifies dlcservice that the installation is complete for the given DLCs.
    </tp:docstring>
    <arg name="ids" type="as" direction="in">
      <tp:docstring>
        List of DLC ID.
      </tp:docstring>
    </arg>
  </method>
  <method name="UpdateCompleted">
    <tp:docstring>
      Notifies dlcservice that the update is complete for the given DLCs.
    </tp:docstring>
    <arg name="ids" type="as" direction="in">
      <tp:docstring>
        List of DLC ID.
      </tp:docstring>
    </arg>
  </method>
  <signal name="DlcStateChanged">
    <arg name="state" type="ay" >
      <tp:docstring>
        A serialized protobuf (DlcState,
        platform2/system_api/dbus/dlcservice/dlcservice.proto) of the current
        state of the DLC.
      </tp:docstring>
      <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                  value="dlcservice::DlcState"/>
    </arg>
  </signal>
</interface>
</node>
