# 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/zircon/zx_library.gni")

zx_library("usb-virtual-bus-launcher") {
  sdk = "static"
  sdk_headers = [
    "lib/usb-virtual-bus-launcher/usb-virtual-bus-launcher.h",
    "lib/usb-virtual-bus-launcher-helper/usb-virtual-bus-launcher-helper.h",
  ]
  testonly = true
  sources = [
    "usb-virtual-bus-launcher-helper.cc",
    "usb-virtual-bus-launcher.cc",
  ]
  public_deps = [
    "//sdk/fidl/fuchsia.hardware.usb.peripheral:fuchsia.hardware.usb.peripheral_cpp",
    "//sdk/fidl/fuchsia.hardware.usb.virtual.bus:fuchsia.hardware.usb.virtual.bus_cpp",
    "//src/devices/testing/driver-integration-test-shim",
    "//zircon/system/ulib/ddk-platform-defs",
  ]
  deps = [
    "//sdk/lib/fdio",
    "//src/devices/usb/lib/usb",
    "//src/lib/ddk",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/fbl",
    "//zircon/system/ulib/fdio-caller",
    "//zircon/system/ulib/usb-peripheral-utils",
    "//zircon/system/ulib/zx",
  ]

  # STOP: Do not add any new entries to this allow list. Use //sdk/lib/driver_test_realm instead.
  visibility = [
    "//src/connectivity/ethernet/drivers/asix-88179/*",
    "//src/connectivity/ethernet/drivers/usb-cdc-ecm/*",
    "//src/devices/block/drivers/usb-mass-storage/*",
    "//src/devices/serial/drivers/ftdi/test/*",
    "//src/devices/serial/drivers/usb-cdc-acm/*",
    "//src/devices/usb/drivers/usb-virtual-bus/*",
    "//src/ui/input/drivers/usb-hid/*",
  ]
}
