# 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.developer.remotecontrol") {
  sdk_category = "internal"
  sources = [
    "diagnostics-bridge.fidl",
    "host-identification.fidl",
    "remote-control.fidl",
    "service-discovery.fidl",
  ]
  public_deps = [
    "//sdk/fidl/fuchsia.boot",
    "//sdk/fidl/fuchsia.buildinfo",
    "//sdk/fidl/fuchsia.component",
    "//sdk/fidl/fuchsia.device",
    "//sdk/fidl/fuchsia.diagnostics",
    "//sdk/fidl/fuchsia.hwinfo",
    "//sdk/fidl/fuchsia.io",
    "//sdk/fidl/fuchsia.kernel",
    "//sdk/fidl/fuchsia.logger",
    "//sdk/fidl/fuchsia.net",
    "//sdk/fidl/fuchsia.sys2",
    "//zircon/vdso/zx",
  ]
  enable_hlcpp = true
}
