<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Copyright (c) 2012 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.

     dbus-binding-tool -mode=glib-server -prefix=cryptohome cryptohome.xml
                        &gt; bindings/server.h
-->
<node name="/org/chromium/Cryptohome">
  <interface name="org.chromium.CryptohomeInterface">
    <annotation name="org.freedesktop.DBus.GLib.CSymbol"
                value="cryptohome"/>
    <method name="IsMounted">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_mounted" direction="out" />
    </method>
    <method name="IsMountedForUser">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="username" direction="in" />
      <arg type="b" name="is_mounted" direction="out" />
      <arg type="b" name="is_ephemeral_mount" direction="out" />
    </method>
    <method name="ListKeysEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <!-- No authorization is required. -->
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="list_keys_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::ListKeysRequest" />
      </arg>
      <!-- Returns a list of key labels as a ListKeysReply protobuf. -->
      <arg type="ay" name="list_keys_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="CheckKeyEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="check_key_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::CheckKeyRequest" />
      </arg>
      <arg type="ay" name="check_key_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="RemoveKeyEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="remove_key_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::RemoveKeyRequest" />
      </arg>
      <arg type="ay" name="remove_key_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- This method removes every existing keyset that is not exempted
         in MassRemoveKeysReqeust.
    -->
    <method name="MassRemoveKeys">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="mass_remove_keys_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::MassRemoveKeysRequest" />
      </arg>
      <arg type="ay" name="mass_remove_keys_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="GetKeyDataEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <!-- This should be an empty AuthorizationRequest.
           In the future, authorization may be used to decrypt and return
           secrets, like the UpdateAuthorization secret.
        -->
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="get_key_data_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::GetKeyDataRequest" />
      </arg>
      <arg type="ay" name="get_key_data_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="MigrateKeyEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="migrate_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::MigrateKeyRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="AddKeyEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="add_key_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AddKeyRequest" />
      </arg>
      <arg type="ay" name="add_key_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- This method creates dataRestore key and generate a keyset for it
         reply: BaseReply with a AddDataRestoreKeyReply extension on success
    -->
    <method name="AddDataRestoreKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="add_key_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="RemoveEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="GetSystemSalt">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="ay" name="salt" direction="out" />
    </method>
    <method name="GetSanitizedUsername">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="sanitized" direction="out" />
    </method>
    <method name="MountEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="authorization_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AuthorizationRequest" />
      </arg>
      <arg type="ay" name="mount_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::MountRequest" />
      </arg>
      <arg type="ay" name="mount_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="MountGuestEx">
      <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="cryptohome::MountGuestRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="RenameCryptohome">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="cryptohome_id_from" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="cryptohome_id_to" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="GetAccountDiskUsage">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="get_account_disk_usage_reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="UnmountEx">
      <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="cryptohome::UnmountRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="UpdateCurrentUserActivityTimestamp">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="time_shift_sec" direction="in" />
    </method>
    <method name="TpmIsReady">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="ready" direction="out" />
    </method>
    <method name="TpmIsEnabled">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="enabled" direction="out" />
    </method>
    <method name="TpmGetPassword">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="password" direction="out" />
    </method>
    <method name="TpmIsOwned">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="owned" direction="out" />
    </method>
    <method name="TpmCanAttemptOwnership">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
    </method>
    <method name="TpmClearStoredPassword">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
    </method>
    <method name="TpmIsAttestationPrepared">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="prepared" direction="out" />
    </method>
    <method name="TpmAttestationGetEnrollmentPreparationsEx">
      <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="cryptohome::AttestationGetEnrollmentPreparationsRequest" />
      </arg>
      <arg type="ay" name="response" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <method name="TpmVerifyAttestationData">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_cros_core" />
      <arg type="b" name="verified" direction="out" />
    </method>
    <method name="TpmVerifyEK">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_cros_core" />
      <arg type="b" name="verified" direction="out" />
    </method>
    <method name="TpmAttestationCreateEnrollRequest">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="ay" name="pca_request" direction="out" />
    </method>
    <method name="AsyncTpmAttestationCreateEnrollRequest">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationEnroll">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="ay" name="pca_response" direction="in" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="AsyncTpmAttestationEnroll">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="ay" name="pca_response" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationEnrollEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="b" name="forced" direction="in" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="AsyncTpmAttestationEnrollEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="b" name="forced" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationCreateCertRequest">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="i" name="certificate_profile" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="request_origin" direction="in" />
      <arg type="ay" name="pca_request" direction="out" />
    </method>
    <method name="AsyncTpmAttestationCreateCertRequest">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="pca_type" direction="in" />
      <arg type="i" name="certificate_profile" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="request_origin" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationFinishCertRequest">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="ay" name="pca_response" direction="in" />
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="ay" name="certificate" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="AsyncTpmAttestationFinishCertRequest">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="ay" name="pca_response" direction="in" />
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationGetCertificateEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="certificate_profile" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="request_origin" direction="in" />
      <arg type="i" name="pca_type" direction="in" />
      <arg type="i" name="key_type" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="b" name="forced" direction="in" />
      <arg type="b" name="shall_trigger_enrollment" direction="in" />
      <arg type="ay" name="certificate" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="AsyncTpmAttestationGetCertificateEx">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="certificate_profile" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="request_origin" direction="in" />
      <arg type="i" name="pca_type" direction="in" />
      <arg type="i" name="key_type" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="b" name="forced" direction="in" />
      <arg type="b" name="shall_trigger_enrollment" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmIsAttestationEnrolled">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="enrolled" direction="out" />
    </method>
    <method name="TpmAttestationDoesKeyExist">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="b" name="exists" direction="out" />
    </method>
    <method name="TpmAttestationGetCertificate">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="ay" name="certificate" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationGetPublicKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="ay" name="public_key" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationGetEnrollmentId">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="ignore_cache" direction="in" />
      <arg type="ay" name="enrollment_id" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationRegisterKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationSignEnterpriseChallenge">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="s" name="domain" direction="in" />
      <arg type="ay" name="device_id" direction="in" />
      <arg type="b" name="include_signed_public_key" direction="in" />
      <arg type="ay" name="challenge" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationSignEnterpriseVaChallenge">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="va_type" direction="in" />
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="s" name="domain" direction="in" />
      <arg type="ay" name="device_id" direction="in" />
      <arg type="b" name="include_signed_public_key" direction="in" />
      <arg type="ay" name="challenge" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <!-- TODO(acostinas): Remove the temporary method when all callers are
         updated. b/35580115 -->
    <method name="TpmAttestationSignEnterpriseVaChallengeV2">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="va_type" direction="in" />
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="s" name="domain" direction="in" />
      <arg type="ay" name="device_id" direction="in" />
      <arg type="b" name="include_signed_public_key" direction="in" />
      <arg type="ay" name="challenge" direction="in" />
      <arg type="s" name="key_name_for_spkac" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationSignSimpleChallenge">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="ay" name="challenge" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationGetKeyPayload">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="ay" name="payload" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationSetKeyPayload">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="ay" name="payload" direction="in" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationDeleteKeys">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_prefix" direction="in" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationDeleteKey">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_user_specific" direction="in" />
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="key_name" direction="in" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationGetEK">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="ek_info" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationResetIdentity">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="reset_token" direction="in" />
      <arg type="ay" name="reset_request" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmGetVersionStructured">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="u" name="family" direction="out" />
      <arg type="t" name="spec_level" direction="out" />
      <arg type="u" name="manufacturer" direction="out" />
      <arg type="u" name="tpm_model" direction="out" />
      <arg type="t" name="firmware_version" direction="out" />
      <arg type="s" name="vendor_specific" direction="out" />
    </method>
    <method name="Pkcs11IsTpmTokenReady">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="ready" direction="out" />
    </method>
    <method name="Pkcs11GetTpmTokenInfo">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="label" direction="out" />
      <arg type="s" name="user_pin" direction="out" />
      <arg type="i" name="slot" direction="out" />
    </method>
    <method name="Pkcs11GetTpmTokenInfoForUser">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="label" direction="out" />
      <arg type="s" name="user_pin" direction="out" />
      <arg type="i" name="slot" direction="out" />
    </method>
    <method name="Pkcs11Terminate">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="username" direction="in" />
    </method>
    <method name="Pkcs11RestoreTpmTokens">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
    </method>
    <method name="GetStatusString">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="status" direction="out" />
    </method>
    <method name="InstallAttributesGet">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="name" direction="in" />
      <arg type="ay" name="value" direction="out" />
      <arg type="b" name="successful" direction="out" />
    </method>
    <method name="InstallAttributesSet">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="s" name="name" direction="in" />
      <arg type="ay" name="value" direction="in" />
      <arg type="b" name="successful" direction="out" />
    </method>
    <method name="InstallAttributesCount">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="i" name="count" direction="out" />
    </method>
    <method name="InstallAttributesFinalize">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="successful" direction="out" />
    </method>
    <method name="InstallAttributesIsReady">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_ready" direction="out" />
    </method>
    <method name="InstallAttributesIsSecure">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_secure" direction="out" />
    </method>
    <method name="InstallAttributesIsInvalid">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_invalid" direction="out" />
    </method>
    <method name="InstallAttributesIsFirstInstall">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="is_first_install" direction="out" />
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: SignBootLockboxRequest
         reply: BaseReply with a SignBootLockboxReply extension on success
    -->
    <method name="SignBootLockbox">
      <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="cryptohome::SignBootLockboxRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: VerifyBootLockboxRequest
         reply: BaseReply
    -->
    <method name="VerifyBootLockbox">
      <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="cryptohome::VerifyBootLockboxRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: FinalizeBootLockboxRequest
         reply: BaseReply
    -->
    <method name="FinalizeBootLockbox">
      <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="cryptohome::FinalizeBootLockboxRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: GetBootAttributeRequest
         reply: BaseReply with a GetBootAttributeReply extension on success
    -->
    <method name="GetBootAttribute">
      <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="cryptohome::GetBootAttributeRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: SetBootAttributeRequest
         reply: BaseReply
    -->
    <method name="SetBootAttribute">
      <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="cryptohome::SetBootAttributeRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: FlushAndSignBootAttributes
         reply: BaseReply
    -->
    <method name="FlushAndSignBootAttributes">
      <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="cryptohome::FlushAndSignBootAttributesRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: GetLoginStatusRequest
         reply: BaseReply with a GetLoginStatusReply extension on success
    -->
    <method name="GetLoginStatus">
      <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="cryptohome::GetLoginStatusRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: GetTpmStatusRequest
         reply: BaseReply with a GetTpmStatusReply extension on success
    -->
    <method name="GetTpmStatus">
      <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="cryptohome::GetTpmStatusRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: GetEndorsementInfoRequest
         reply: BaseReply with a GetEndorsementInfoReply extension on success
    -->
    <method name="GetEndorsementInfo">
      <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="cryptohome::GetEndorsementInfoRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: InitializeCastKey
         reply: BaseReply
    -->
    <method name="InitializeCastKey">
      <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="cryptohome::InitializeCastKeyRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>

    <method name="StartFingerprintAuthSession">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::StartFingerprintAuthSessionRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>

    <method name="EndFingerprintAuthSession">
      <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="cryptohome::EndFingerprintAuthSessionRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>

    <method name="GetWebAuthnSecret">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::GetWebAuthnSecretRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- This API will be used to call for start of an AuthSession and
         will only be used for UserDataAuth.
         All arguments are protobufs:
         id: AccountIdentier
         request: StartAuthSessionRequest
         reply: BaseReply with StartAuthSession
    -->
    <method name="StartAuthSession">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::StartAuthSessionRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </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: BaseReply with AddCredentialsReply
    -->
    <method name="AddCredentials">
      <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="cryptohome::AddCredentialsRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>

    <!-- This API will be used to call AuthSession to authenticate with credentials
         All arguments are protobufs:
         request: AuthenticateAuthSessionRequest
         reply: BaseReply with AuthenticateAuthSesseionReply
    -->
    <method name="AuthenticateAuthSession">
      <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="cryptohome::AuthenticateAuthSessionRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>

    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: GetFirmwareManagementParametersRequest
         reply: BaseReply with a GetFirmwareManagementParametersReply
             extension on success
    -->
    <method name="GetFirmwareManagementParameters">
      <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="cryptohome::GetFirmwareManagementParametersRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: SetFirmwareManagementParametersRequest
         reply: BaseReply
    -->
    <method name="SetFirmwareManagementParameters">
      <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="cryptohome::SetFirmwareManagementParametersRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- May be called asynchronously.  Both arguments are protobufs:
         request: RemoveFirmwareManagementParametersRequest
         reply: BaseReply
    -->
    <method name="RemoveFirmwareManagementParameters">
      <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="cryptohome::RemoveFirmwareManagementParametersRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- The account_id argument is a protobuf. Since the migration process
         may take arbitrary long time, this dbus method just kicks it and
         returns immediately. The actual results are notified back by:
         DircryptoMigrationProgress signal.
         account_id: AccountIdentifier
         migrate_request: MigrateToDircryptoRequest
    -->
    <method name="MigrateToDircrypto">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="ay" name="migrate_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::MigrateToDircryptoRequest" />
      </arg>
    </method>
    <!-- Whether the user identified by |account_id| needs to migrate to
         dircrypto. Returns true if the migration has not started or incomplete.
    -->
    <method name="NeedsDircryptoMigration">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="b" name="needs_dircrypto_migration" direction="out" />
    </method>
    <method name="GetSupportedKeyPolicies">
      <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="cryptohome::GetSupportedKeyPoliciesRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- Whether quota-based disk usage statistics is supported.
    -->
    <method name="IsQuotaSupported">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="quota_supported" direction="out" />
    </method>
    <!-- Get the current disk space usage for the given uid.
    -->
    <method name="GetCurrentSpaceForUid">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="u" name="uid" direction="in" />
      <arg type="x" name="cur_space" direction="out" />
    </method>
    <!-- Get the current disk space usage for the given uid.
    -->
    <method name="GetCurrentSpaceForGid">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="u" name="gid" direction="in" />
      <arg type="x" name="cur_space" direction="out" />
    </method>
    <!-- Get the current disk space usage for the given project id.
    -->
    <method name="GetCurrentSpaceForProjectId">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="u" name="project_id" direction="in" />
      <arg type="x" name="cur_space" direction="out" />
    </method>
    <!-- Set the project ID to the file/directory pointed by path.
    -->
    <method name="SetProjectId">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="u" name="project_id" direction="in" />
      <arg type="i" name="parent_path" direction="in" />
      <arg type="s" name="child_path" direction="in" />
      <arg type="ay" name="account_id" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::AccountIdentifier" />
      </arg>
      <arg type="b" name="success" direction="out" />
    </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="cryptohome::LockToSingleUserMountUntilRebootRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>
    <!-- Get the device id required for Remote Server unlock.
         Returns protobuf which is GetRsuDeviceIdReply. -->
    <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="cryptohome::GetRsuDeviceIdRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
          value="cryptohome::BaseReply" />
      </arg>
    </method>

    <method name="CheckHealth">
      <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="cryptohome::CheckHealthRequest" />
      </arg>
      <arg type="ay" name="reply" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::BaseReply" />
      </arg>
    </method>

    <!-- Signals:
           TpmInitStatus: Emitted when TPM initialization status changes.
           AsyncCallStatus: Emitted when a legacy asynchronous call has
               finished and the call returns only status.
           AsyncCallStatusWithData: Emitted when a legacy asynchronous call has
               finished and the call returns status and data.
           LowDiskSpace: Emitted when the system is running low on disk space
               for home directories.
           DircryptoMigrationProgress: Periodically emitted when the migration
               of a home directory is in progress, to notify the updates to UI.
    -->
    <signal name="TpmInitStatus">
      <arg type="b" name="ready" />
      <arg type="b" name="owned" />
      <arg type="b" name="was_owned_this_boot" />
    </signal>
    <signal name="AsyncCallStatus">
      <arg type="i" name="async_id" />
      <arg type="b" name="return_status" />
      <arg type="i" name="return_code" />
    </signal>
    <signal name="AsyncCallStatusWithData">
      <arg type="i" name="async_id" />
      <arg type="b" name="return_status" />
      <arg type="ay" name="data" />
    </signal>
    <signal name="LowDiskSpace">
      <arg type="t" name="disk_free_bytes" />
    </signal>
    <signal name="DircryptoMigrationProgress">
      <arg type="i" name="status" />
      <arg type="t" name="current_bytes" />
      <arg type="t" name="total_bytes" />
    </signal>
  </interface>
</node>
