# Copyright 2019 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("fuchsia.feedback") {
  sdk_category = "partner"

  sources = [
    "annotation.fidl",
    "attachment.fidl",
    "crash_register.fidl",
    "crash_reporter.fidl",
    "data_provider.fidl",
    "data_provider_controller.fidl",
    "data_register.fidl",
    "device_id_provider.fidl",
    "last_reboot_info.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.math",
    "//sdk/fidl/fuchsia.mem",
    "//sdk/fidl/fuchsia.sys",
    "//zircon/vdso/zx",
  ]
}
