<?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">
      <arg type="b" name="is_mounted" direction="out" />
    </method>
    <method name="IsMountedForUser">
      <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.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.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.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>
    <method name="GetKeyDataEx">
      <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>
    <!-- This may be called asynchronously. -->
    <method name="MigrateKeyEx">
      <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>
    <!-- This may be called asynchronously. -->
    <method name="AddKeyEx">
      <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 looks like an AddKeyEx(clobber=true)
         but it updates the authorizing key exclusively.
    -->
    <method name="UpdateKeyEx">
      <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>
    <!-- This may be called asynchronously. -->
    <method name="RemoveEx">
      <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">
      <arg type="ay" name="salt" direction="out" />
    </method>
    <method name="GetSanitizedUsername">
      <arg type="s" name="username" direction="in" />
      <arg type="s" name="sanitized" direction="out" />
    </method>
    <!-- This may be called asynchronously. -->
    <method name="MountEx">
      <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>
    <!-- This may be called asynchronously. -->
    <method name="MountGuestEx">
      <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.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.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.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">
      <arg type="i" name="time_shift_sec" direction="in" />
    </method>
    <method name="TpmIsReady">
      <arg type="b" name="ready" direction="out" />
    </method>
    <method name="TpmIsEnabled">
      <arg type="b" name="enabled" direction="out" />
    </method>
    <method name="TpmGetPassword">
      <arg type="s" name="password" direction="out" />
    </method>
    <method name="TpmIsOwned">
      <arg type="b" name="owned" direction="out" />
    </method>
    <method name="TpmIsBeingOwned">
      <arg type="b" name="owning" direction="out" />
    </method>
    <method name="TpmCanAttemptOwnership">
    </method>
    <method name="TpmClearStoredPassword">
    </method>
    <method name="TpmIsAttestationPrepared">
      <arg type="b" name="prepared" direction="out" />
    </method>
    <method name="TpmAttestationGetEnrollmentPreparationsEx">
      <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">
      <arg type="b" name="is_cros_core" />
      <arg type="b" name="verified" direction="out" />
    </method>
    <method name="TpmVerifyEK">
      <arg type="b" name="is_cros_core" />
      <arg type="b" name="verified" direction="out" />
    </method>
    <method name="TpmAttestationCreateEnrollRequest">
      <arg type="i" name="pca_type" direction="in" />
      <arg type="ay" name="pca_request" direction="out" />
    </method>
    <method name="AsyncTpmAttestationCreateEnrollRequest">
      <arg type="i" name="pca_type" direction="in" />
      <arg type="i" name="async_id" direction="out" />
    </method>
    <method name="TpmAttestationEnroll">
      <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">
      <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">
      <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">
      <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">
      <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">
      <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">
      <arg type="b" name="enrolled" direction="out" />
    </method>
    <method name="TpmAttestationDoesKeyExist">
      <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">
      <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">
      <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">
      <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">
      <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">
      <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">
      <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>
    <method name="TpmAttestationSignSimpleChallenge">
      <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">
      <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">
      <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">
      <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">
      <arg type="s" name="ek_info" direction="out" />
      <arg type="b" name="success" direction="out" />
    </method>
    <method name="TpmAttestationResetIdentity">
      <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">
      <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">
      <arg type="b" name="ready" direction="out" />
    </method>
    <method name="Pkcs11GetTpmTokenInfo">
      <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">
      <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">
      <arg type="s" name="username" direction="in" />
    </method>
    <method name="GetStatusString">
      <arg type="s" name="status" direction="out" />
    </method>
    <method name="InstallAttributesGet">
      <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">
      <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">
      <arg type="i" name="count" direction="out" />
    </method>
    <method name="InstallAttributesFinalize">
      <arg type="b" name="successful" direction="out" />
    </method>
    <method name="InstallAttributesIsReady">
      <arg type="b" name="is_ready" direction="out" />
    </method>
    <method name="InstallAttributesIsSecure">
      <arg type="b" name="is_secure" direction="out" />
    </method>
    <method name="InstallAttributesIsInvalid">
      <arg type="b" name="is_invalid" direction="out" />
    </method>
    <method name="InstallAttributesIsFirstInstall">
      <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.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.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.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.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.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.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.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.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.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.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.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.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.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">
      <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">
      <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.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">
      <arg type="b" name="quota_supported" direction="out" />
    </method>
    <!-- Get the current disk space usage for the given uid.
    -->
    <method name="GetCurrentSpaceForUid">
      <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">
      <arg type="u" name="gid" direction="in" />
      <arg type="x" name="cur_space" direction="out" />
    </method>

    <method name="LockToSingleUserMountUntilReboot">
      <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>

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