#
#  Copyright 2021 Google, Inc.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at:
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

import("//bt/system/gd/dumpsys/bundler/bundler.gni")

source_set("BluetoothDumpsysSources") {
  sources = [
    "filter.cc",
    "internal/filter_internal.cc",
    "reflection_schema.cc",
  ]

  cflags_cc = [ "-Wno-enum-compare-switch" ]

  configs += [
    "//bt/system/gd:gd_defaults",
    "//bt/system/log:log_defaults",
  ]
  deps = [ "//bt/system/gd:gd_default_deps" ]
}

bt_flatc_bundler("libbluetooth-dumpsys") {
  root_name = "bluetooth.DumpsysData"
  filename = "generated_dumpsys_bundled_schema"
  namespace = "bluetooth::dumpsys"
  deps = [ "//bt/system/gd:BluetoothGeneratedDumpsysBinarySchema_bfbs" ]
  configs = [
    "//bt/system/gd:gd_defaults",
    "//bt/system/log:log_defaults",
  ]
}
