<?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/">
  <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="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="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="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>

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

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