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

source_set("BluetoothL2capSources") {
  sources = [
    "classic/dynamic_channel_manager.cc",
    "classic/dynamic_channel_service.cc",
    "classic/fixed_channel.cc",
    "classic/fixed_channel_manager.cc",
    "classic/fixed_channel_service.cc",
    "classic/internal/dumpsys_helper.cc",
    "classic/internal/dynamic_channel_service_manager_impl.cc",
    "classic/internal/fixed_channel_impl.cc",
    "classic/internal/fixed_channel_service_manager_impl.cc",
    "classic/internal/link.cc",
    "classic/internal/link_manager.cc",
    "classic/internal/signalling_manager.cc",
    "classic/l2cap_classic_module.cc",
    "dynamic_channel.cc",
    "fcs.cc",
    "internal/basic_mode_channel_data_controller.cc",
    "internal/data_pipeline_manager.cc",
    "internal/dynamic_channel_allocator.cc",
    "internal/dynamic_channel_impl.cc",
    "internal/enhanced_retransmission_mode_channel_data_controller.cc",
    "internal/le_credit_based_channel_data_controller.cc",
    "internal/receiver.cc",
    "internal/scheduler_fifo.cc",
    "internal/sender.cc",
    "le/dynamic_channel.cc",
    "le/dynamic_channel_manager.cc",
    "le/dynamic_channel_service.cc",
    "le/fixed_channel.cc",
    "le/fixed_channel_manager.cc",
    "le/fixed_channel_service.cc",
    "le/internal/dynamic_channel_service_manager_impl.cc",
    "le/internal/fixed_channel_impl.cc",
    "le/internal/fixed_channel_service_manager_impl.cc",
    "le/internal/link.cc",
    "le/internal/link_manager.cc",
    "le/internal/signalling_manager.cc",
    "le/l2cap_le_module.cc",
    "le/link_options.cc",
  ]

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