# 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.

# DO NOT MANUALLY EDIT!
# Generated by //scripts/sdk/gn/generate.py.


import("../../build/fidl_library.gni")

fidl_library("fuchsia.bluetooth") {
  library_name = "bluetooth"
  namespace = "fuchsia"
  public_deps = [
  ]
  sources = [
    "address.fidl",
    "appearance.fidl",
    "connection_role.fidl",
    "device_class.fidl",
    "id.fidl",
    "nullables.fidl",
    "status.fidl",
    "uuid.fidl",
  ]
}

group("all"){
  deps = [
    ":fuchsia.bluetooth",
  ]
}
