# Copyright 2017 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")
import("//tools/fidl/measure-tape/measure_tape.gni")

fidl("fuchsia.stash") {
  sources = [ "stash.fidl" ]

  public_deps = [ "//sdk/fidl/fuchsia.mem" ]

  sdk_category = "internal"

  visibility = [
    # fxbug.dev/47602 audit the below
    "//garnet/bin/setui/*",
    "//src/connectivity/bluetooth/core/bt-gap/*",
    "//src/connectivity/network/*",
    "//src/connectivity/network/dhcpd-cli/*",
    "//src/connectivity/wlan/*",
    "//src/identity/*",
    "//src/modular/lib/modular_test_harness/*",
    "//src/modular/tests/*",
    "//src/sys/pkg/bin/omaha-client/*",
    "//src/sys/stash/*",
    "//src/sys/tools/stash_ctl/*",
  ]
}

measure_tape("rust_measure_tape_for_list_item") {
  target_binding = "rust"
  target_type = "fuchsia.stash/ListItem"
  fidls = [
    "//sdk/fidl/fuchsia.stash",
    "//sdk/fidl/fuchsia.mem",
  ]
}

measure_tape("rust_measure_tape_for_key_value") {
  target_binding = "rust"
  target_type = "fuchsia.stash/KeyValue"
  fidls = [
    "//sdk/fidl/fuchsia.stash",
    "//sdk/fidl/fuchsia.mem",
  ]
}
