<?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>
    <!-- This method looks like an AddKeyEx(clobber=true)
         but it updates the authorizing key exclusively.
    -->
    <method name="UpdateKeyEx">
      <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="update_key_request" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="cryptohome::UpdateKeyRequest" />
      </arg>
      <arg type="ay" name="update_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="TpmIsBeingOwned">
      <annotation name="org.chromium.DBus.Method.Kind"
                  value="async"/>
      <arg type="b" name="owning" 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="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>

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

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