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

<!--
  Copyright 2019 The Chromium OS Authors. All rights reserved.
  Use of this source code is governed by a BSD-style license that can be
  found in the LICENSE file.
-->

<!--
  The object and interface defined in this file is used with the service name
  "org.chromium.UserDataAuth"

  This is the new interface for the cryptohome API interface refactor.

  The protobufs specified in this file can be found in:
  platform2/system_api/dbus/cryptohome/UserDataAuth.proto
-->

<!--
TODO(b/126307305): We'll need to add documentations of what each methods in this file
do.
-->

<node name="/org/chromium/UserDataAuth"
      xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">


  <interface name="org.chromium.UserDataAuthInterface">
    <method name="IsMounted">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::IsMountedRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::IsMountedReply" />
      </arg>
    </method>

    <method name="Unmount">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::UnmountRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::UnmountReply" />
      </arg>
    </method>

    <method name="Mount">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::MountRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::MountReply" />
      </arg>
    </method>

    <method name="Remove">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RemoveRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RemoveReply" />
      </arg>
    </method>

    <method name="Rename">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RenameRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RenameReply" />
      </arg>
    </method>

    <method name="ListKeys">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::ListKeysRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::ListKeysReply" />
      </arg>
    </method>

    <method name="GetKeyData">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetKeyDataRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetKeyDataReply" />
      </arg>
    </method>

    <method name="CheckKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::CheckKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::CheckKeyReply" />
      </arg>
    </method>

    <method name="AddKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AddKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AddKeyReply" />
      </arg>
    </method>

    <method name="AddDataRestoreKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AddDataRestoreKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AddDataRestoreKeyReply" />
      </arg>
    </method>

    <method name="RemoveKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RemoveKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RemoveKeyReply" />
      </arg>
    </method>

    <method name="MassRemoveKeys">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::MassRemoveKeysRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::MassRemoveKeysReply" />
      </arg>
    </method>

    <method name="MigrateKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::MigrateKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::MigrateKeyReply" />
      </arg>
    </method>

    <method name="StartFingerprintAuthSession">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::StartFingerprintAuthSessionRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::StartFingerprintAuthSessionReply" />
      </arg>
    </method>

    <method name="EndFingerprintAuthSession">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::EndFingerprintAuthSessionRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::EndFingerprintAuthSessionReply" />
      </arg>
    </method>

    <method name="GetWebAuthnSecret">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetWebAuthnSecretRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetWebAuthnSecretReply" />
      </arg>
    </method>

    <method name="StartMigrateToDircrypto">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::StartMigrateToDircryptoRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::StartMigrateToDircryptoReply" />
      </arg>
    </method>

    <signal name="DircryptoMigrationProgress">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="status" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::DircryptoMigrationProgress" />
      </arg>
    </signal>

    <method name="NeedsDircryptoMigration">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::NeedsDircryptoMigrationRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::NeedsDircryptoMigrationReply" />
      </arg>
    </method>

    <method name="GetSupportedKeyPolicies">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetSupportedKeyPoliciesRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetSupportedKeyPoliciesReply" />
      </arg>
    </method>

    <method name="GetAccountDiskUsage">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetAccountDiskUsageRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetAccountDiskUsageReply" />
      </arg>
    </method>

    <!--This API will be used to call for start of an AuthSession.
        TODO(crbug.com/1152113): This API is still a work in progress.
         May be called asynchronously.  All arguments are protobufs:
         request: StartAuthSessionRequest
         reply: BaseReply with StartAuthSession
    -->
    <method name="StartAuthSession">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::StartAuthSessionRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::StartAuthSessionReply" />
      </arg>
    </method>

    <!-- This API will be used to call AuthSession to create new credentials,
         either for new user or add new ones for existing user.
         All arguments are protobufs:
         request: AddCredentialsRequest
         reply: AddCredentialsReply -->
    <method name="AddCredentials">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AddCredentialsRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AddCredentialsReply" />
      </arg>
    </method>

    <method name="AuthenticateAuthSession">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AuthenticateAuthSessionRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::AuthenticateAuthSessionReply" />
      </arg>
    </method>

    <!-- LowDiskSpace: Emitted when the system is running low on disk space
                       for home directories. -->
    <signal name="LowDiskSpace">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="status" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::LowDiskSpace" />
      </arg>
    </signal>
  </interface>

  <interface name="org.chromium.ArcQuota">
    <method name="GetArcDiskFeatures">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetArcDiskFeaturesRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetArcDiskFeaturesReply" />
      </arg>
    </method>
    <method name="GetCurrentSpaceForArcUid">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetCurrentSpaceForArcUidRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetCurrentSpaceForArcUidReply" />
      </arg>
    </method>

    <method name="GetCurrentSpaceForArcGid">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetCurrentSpaceForArcGidRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetCurrentSpaceForArcGidReply" />
      </arg>
    </method>

    <method name="GetCurrentSpaceForArcProjectId">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetCurrentSpaceForArcProjectIdRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetCurrentSpaceForArcProjectIdReply" />
      </arg>
    </method>

    <method name="SetProjectId">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::SetProjectIdRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::SetProjectIdReply" />
      </arg>
    </method>
  </interface>

  <interface name="org.chromium.CryptohomePkcs11Interface">
    <method name="Pkcs11IsTpmTokenReady">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11IsTpmTokenReadyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11IsTpmTokenReadyReply" />
      </arg>
    </method>

    <method name="Pkcs11GetTpmTokenInfo">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11GetTpmTokenInfoRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11GetTpmTokenInfoReply" />
      </arg>
    </method>

    <method name="Pkcs11Terminate">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11TerminateRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11TerminateReply" />
      </arg>
    </method>
  </interface>

  <!-- Note that both install attributes and firmware management parameters are
  grouped under this interface. -->
  <interface name="org.chromium.InstallAttributesInterface">
    <method name="InstallAttributesGet">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesGetRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesGetReply" />
      </arg>
    </method>

    <method name="InstallAttributesSet">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesSetRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesSetReply" />
      </arg>
    </method>

    <method name="InstallAttributesFinalize">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesFinalizeRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesFinalizeReply" />
      </arg>
    </method>

    <method name="InstallAttributesGetStatus">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesGetStatusRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::InstallAttributesGetStatusReply" />
      </arg>
    </method>

    <method name="GetFirmwareManagementParameters">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetFirmwareManagementParametersRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetFirmwareManagementParametersReply" />
      </arg>
    </method>

    <method name="RemoveFirmwareManagementParameters">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RemoveFirmwareManagementParametersRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::RemoveFirmwareManagementParametersReply" />
      </arg>
    </method>

    <method name="SetFirmwareManagementParameters">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::SetFirmwareManagementParametersRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::SetFirmwareManagementParametersReply" />
      </arg>
    </method>
  </interface>

  <interface name="org.chromium.CryptohomeMiscInterface">
    <method name="GetSystemSalt">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetSystemSaltRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetSystemSaltReply" />
      </arg>
    </method>

    <method name="UpdateCurrentUserActivityTimestamp">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::UpdateCurrentUserActivityTimestampRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::UpdateCurrentUserActivityTimestampReply" />
      </arg>
    </method>

    <method name="GetSanitizedUsername">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetSanitizedUsernameRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetSanitizedUsernameReply" />
      </arg>
    </method>

    <method name="GetLoginStatus">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetLoginStatusRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetLoginStatusReply" />
      </arg>
    </method>

    <method name="GetStatusString">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetStatusStringRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetStatusStringReply" />
      </arg>
    </method>

    <method name="LockToSingleUserMountUntilReboot">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::LockToSingleUserMountUntilRebootRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::LockToSingleUserMountUntilRebootReply" />
      </arg>
    </method>

    <!-- Get the device id required for Remote Server unlock. -->
    <method name="GetRsuDeviceId">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetRsuDeviceIdRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::GetRsuDeviceIdReply" />
      </arg>
    </method>

    <method name="CheckHealth">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="ay" name="request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::CheckHealthRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::CheckHealthReply" />
      </arg>
    </method>
  </interface>
</node>
