# Copyright 2020 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.driver.framework") {
  sdk_category = "experimental"
  api = "fuchsia.driver.framework.api"

  sources = [
    "device_group.fidl",
    "driver_start_args.fidl",
    "overview.fidl",
    "runtime.fidl",
    "topology.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.component",
    "//sdk/fidl/fuchsia.component.decl",
    "//sdk/fidl/fuchsia.component.runner",
    "//sdk/fidl/fuchsia.data",
    "//sdk/fidl/fuchsia.io",
    "//sdk/fidl/fuchsia.url",
  ]
}
