<?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
-->

<!--
  NOTE: If you update this file, remember to modify the dbus permission
  configuration file as well, otherwise callers cannot access the new
  methods.
  See cryptohome/etc/org.chromium.UserDataAuth.conf.
-->

<!--
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>
    <method name="Pkcs11RestoreTpmTokens">
      <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::Pkcs11RestoreTpmTokensRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="user_data_auth::Pkcs11RestoreTpmTokensReply" />
      </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>
