<?xml version="1.0" encoding="UTF-8" ?>

<!--
  Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
  Use of this source code is governed by a BSD-style license that can be
  found in the LICENSE file.
-->

<!--
  The object and interface defined in this file is used with the service name
  "org.chromium.Attestation"
-->

<node name="/org/chromium/Attestation"
      xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.chromium.Attestation">
    <method name="GetKeyInfo">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetKeyInfoRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetKeyInfoReply" />
      </arg>
    </method>

    <method name="GetEndorsementInfo">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetEndorsementInfoRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetEndorsementInfoReply" />
      </arg>
    </method>

    <method name="GetAttestationKeyInfo">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetAttestationKeyInfoRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetAttestationKeyInfoReply" />
      </arg>
    </method>

    <method name="ActivateAttestationKey">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::ActivateAttestationKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::ActivateAttestationKeyReply" />
      </arg>
    </method>

    <method name="CreateCertifiableKey">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::CreateCertifiableKeyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::CreateCertifiableKeyReply" />
      </arg>
    </method>

    <method name="Decrypt">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::DecryptRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::DecryptReply" />
      </arg>
    </method>

    <method name="Sign">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SignRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SignReply" />
      </arg>
    </method>

    <method name="RegisterKeyWithChapsToken">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::RegisterKeyWithChapsTokenRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::RegisterKeyWithChapsTokenReply" />
      </arg>
    </method>

    <method name="GetEnrollmentPreparations">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetEnrollmentPreparationsRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetEnrollmentPreparationsReply" />
      </arg>
    </method>

    <method name="GetStatus">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetStatusRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetStatusReply" />
      </arg>
    </method>

    <method name="Verify">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::VerifyRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::VerifyReply" />
      </arg>
    </method>

    <method name="CreateEnrollRequest">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::CreateEnrollRequestRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::CreateEnrollRequestReply" />
      </arg>
    </method>
    <method name="FinishEnroll">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::FinishEnrollRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::FinishEnrollReply" />
      </arg>
    </method>
    <method name="CreateCertificateRequest">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::CreateCertificateRequestRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::CreateCertificateRequestReply" />
      </arg>
    </method>
    <method name="FinishCertificateRequest">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::FinishCertificateRequestRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::FinishCertificateRequestReply" />
      </arg>
    </method>
    <method name="Enroll">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::EnrollRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::EnrollReply" />
      </arg>
    </method>
    <method name="GetCertificate">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetCertificateRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetCertificateReply" />
      </arg>
    </method>
    <method name="SignEnterpriseChallenge">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SignEnterpriseChallengeRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SignEnterpriseChallengeReply" />
      </arg>
    </method>

    <method name="SignSimpleChallenge">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SignSimpleChallengeRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SignSimpleChallengeReply" />
      </arg>
    </method>

    <method name="SetKeyPayload">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SetKeyPayloadRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::SetKeyPayloadReply" />
      </arg>
    </method>

    <method name="DeleteKeys">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::DeleteKeysRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::DeleteKeysReply" />
      </arg>
    </method>

    <method name="ResetIdentity">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::ResetIdentityRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::ResetIdentityReply" />
      </arg>
    </method>

    <method name="GetEnrollmentId">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetEnrollmentIdRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetEnrollmentIdReply" />
      </arg>
    </method>

    <method name="GetCertifiedNvIndex">
      <arg name="request" type="ay" direction="in">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetCertifiedNvIndexRequest" />
      </arg>
      <arg name="reply" type="ay" direction="out">
        <annotation name="org.chromium.DBus.Argument.ProtobufClass"
                    value="attestation::GetCertifiedNvIndexReply" />
      </arg>
    </method>
  </interface>
</node>
