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

banjo("fuchsia.hardware.camera.sensor") {
  sources = [ "camera-sensor.banjo" ]
  deps = [
    "//sdk/banjo/fuchsia.hardware.camera",
    "//sdk/banjo/zx",
  ]
}

group("fuchsia.hardware.camera.sensor_banjo_cpp") {
  public_deps = [ ":fuchsia.hardware.camera.sensor" ]
}

group("fuchsia.hardware.camera.sensor_banjo_cpp_mock") {
  testonly = true
  public_deps = [ ":fuchsia.hardware.camera.sensor_mock" ]
}
