# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/fidl/fidl.gni")

fidl("account") {
  # TODO(fxbug.dev/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [ "string-bounds-not-specified" ]

  name = "fuchsia.identity.internal"

  sources = [ "account_handler.fidl" ]

  public_deps = [
    "//sdk/fidl/fuchsia.auth",
    "//sdk/fidl/fuchsia.identity.account",
    "//sdk/fidl/fuchsia.identity.authentication",
    "//sdk/fidl/fuchsia.identity.external",
    "//sdk/fidl/fuchsia.kms",
  ]
}

fidl("account-transfer") {
  name = "fuchsia.identity.transfer"

  sources = [ "account_transfer.fidl" ]

  public_deps = [
    "//sdk/fidl/fuchsia.identity.account",
    "//sdk/fidl/fuchsia.kms",
  ]
}

fidl("account-prototype") {
  name = "fuchsia.identity.prototype"

  sources = [ "account_transfer_prototype.fidl" ]

  public_deps = [
    "//sdk/fidl/fuchsia.identity.account",
    "//sdk/fidl/fuchsia.overnet.protocol",
  ]
}
