1# Copyright 2023 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test") 16 17package(default_visibility = ["//pw_bluetooth_sapphire:__subpackages__"]) 18 19cc_library( 20 name = "config", 21 srcs = [], 22 defines = select({ 23 "@platforms//os:fuchsia": [ 24 "PW_BLUETOOTH_SAPPHIRE_INSPECT_ENABLED", 25 "PW_BLUETOOTH_SAPPHIRE_TRACE_ENABLED", 26 ], 27 "//conditions:default": [], 28 }), 29) 30 31cc_library( 32 name = "public", 33 hdrs = [ 34 "public/pw_bluetooth_sapphire/config.h", 35 "public/pw_bluetooth_sapphire/internal/host/att/att.h", 36 "public/pw_bluetooth_sapphire/internal/host/att/attribute.h", 37 "public/pw_bluetooth_sapphire/internal/host/att/bearer.h", 38 "public/pw_bluetooth_sapphire/internal/host/att/database.h", 39 "public/pw_bluetooth_sapphire/internal/host/att/error.h", 40 "public/pw_bluetooth_sapphire/internal/host/att/packet.h", 41 "public/pw_bluetooth_sapphire/internal/host/att/permissions.h", 42 "public/pw_bluetooth_sapphire/internal/host/att/write_queue.h", 43 "public/pw_bluetooth_sapphire/internal/host/common/advertising_data.h", 44 "public/pw_bluetooth_sapphire/internal/host/common/assert.h", 45 "public/pw_bluetooth_sapphire/internal/host/common/bounded_inspect_list_node.h", 46 "public/pw_bluetooth_sapphire/internal/host/common/byte_buffer.h", 47 "public/pw_bluetooth_sapphire/internal/host/common/device_address.h", 48 "public/pw_bluetooth_sapphire/internal/host/common/device_class.h", 49 "public/pw_bluetooth_sapphire/internal/host/common/error.h", 50 "public/pw_bluetooth_sapphire/internal/host/common/expiring_set.h", 51 "public/pw_bluetooth_sapphire/internal/host/common/fake_inspect.h", 52 "public/pw_bluetooth_sapphire/internal/host/common/host_error.h", 53 "public/pw_bluetooth_sapphire/internal/host/common/identifier.h", 54 "public/pw_bluetooth_sapphire/internal/host/common/inspect.h", 55 "public/pw_bluetooth_sapphire/internal/host/common/inspectable.h", 56 "public/pw_bluetooth_sapphire/internal/host/common/log.h", 57 "public/pw_bluetooth_sapphire/internal/host/common/macros.h", 58 "public/pw_bluetooth_sapphire/internal/host/common/manufacturer_names.h", 59 "public/pw_bluetooth_sapphire/internal/host/common/metrics.h", 60 "public/pw_bluetooth_sapphire/internal/host/common/packet_view.h", 61 "public/pw_bluetooth_sapphire/internal/host/common/pipeline_monitor.h", 62 "public/pw_bluetooth_sapphire/internal/host/common/random.h", 63 "public/pw_bluetooth_sapphire/internal/host/common/retire_log.h", 64 "public/pw_bluetooth_sapphire/internal/host/common/slab_allocator.h", 65 "public/pw_bluetooth_sapphire/internal/host/common/slab_buffer.h", 66 "public/pw_bluetooth_sapphire/internal/host/common/smart_task.h", 67 "public/pw_bluetooth_sapphire/internal/host/common/supplement_data.h", 68 "public/pw_bluetooth_sapphire/internal/host/common/to_string.h", 69 "public/pw_bluetooth_sapphire/internal/host/common/trace.h", 70 "public/pw_bluetooth_sapphire/internal/host/common/uint128.h", 71 "public/pw_bluetooth_sapphire/internal/host/common/uint256.h", 72 "public/pw_bluetooth_sapphire/internal/host/common/uuid.h", 73 "public/pw_bluetooth_sapphire/internal/host/common/weak_self.h", 74 "public/pw_bluetooth_sapphire/internal/host/common/windowed_inspect_numeric_property.h", 75 "public/pw_bluetooth_sapphire/internal/host/gap/adapter.h", 76 "public/pw_bluetooth_sapphire/internal/host/gap/adapter_state.h", 77 "public/pw_bluetooth_sapphire/internal/host/gap/android_vendor_capabilities.h", 78 "public/pw_bluetooth_sapphire/internal/host/gap/bonding_data.h", 79 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_connection.h", 80 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_connection_manager.h", 81 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_connection_request.h", 82 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_discovery_manager.h", 83 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_interrogator.h", 84 "public/pw_bluetooth_sapphire/internal/host/gap/discovery_filter.h", 85 "public/pw_bluetooth_sapphire/internal/host/gap/event_masks.h", 86 "public/pw_bluetooth_sapphire/internal/host/gap/fake_adapter.h", 87 "public/pw_bluetooth_sapphire/internal/host/gap/fake_pairing_delegate.h", 88 "public/pw_bluetooth_sapphire/internal/host/gap/gap.h", 89 "public/pw_bluetooth_sapphire/internal/host/gap/generic_access_client.h", 90 "public/pw_bluetooth_sapphire/internal/host/gap/identity_resolving_list.h", 91 "public/pw_bluetooth_sapphire/internal/host/gap/legacy_pairing_state.h", 92 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_address_manager.h", 93 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_advertising_manager.h", 94 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection.h", 95 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection_handle.h", 96 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection_manager.h", 97 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection_request.h", 98 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connector.h", 99 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_discovery_manager.h", 100 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_interrogator.h", 101 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_state.h", 102 "public/pw_bluetooth_sapphire/internal/host/gap/pairing_delegate.h", 103 "public/pw_bluetooth_sapphire/internal/host/gap/pairing_state_manager.h", 104 "public/pw_bluetooth_sapphire/internal/host/gap/peer.h", 105 "public/pw_bluetooth_sapphire/internal/host/gap/peer_cache.h", 106 "public/pw_bluetooth_sapphire/internal/host/gap/peer_metrics.h", 107 "public/pw_bluetooth_sapphire/internal/host/gap/secure_simple_pairing_state.h", 108 "public/pw_bluetooth_sapphire/internal/host/gap/types.h", 109 "public/pw_bluetooth_sapphire/internal/host/gatt/client.h", 110 "public/pw_bluetooth_sapphire/internal/host/gatt/connection.h", 111 "public/pw_bluetooth_sapphire/internal/host/gatt/fake_client.h", 112 "public/pw_bluetooth_sapphire/internal/host/gatt/fake_layer.h", 113 "public/pw_bluetooth_sapphire/internal/host/gatt/gatt.h", 114 "public/pw_bluetooth_sapphire/internal/host/gatt/gatt_defs.h", 115 "public/pw_bluetooth_sapphire/internal/host/gatt/generic_attribute_service.h", 116 "public/pw_bluetooth_sapphire/internal/host/gatt/local_service_manager.h", 117 "public/pw_bluetooth_sapphire/internal/host/gatt/mock_server.h", 118 "public/pw_bluetooth_sapphire/internal/host/gatt/persisted_data.h", 119 "public/pw_bluetooth_sapphire/internal/host/gatt/remote_characteristic.h", 120 "public/pw_bluetooth_sapphire/internal/host/gatt/remote_service.h", 121 "public/pw_bluetooth_sapphire/internal/host/gatt/remote_service_manager.h", 122 "public/pw_bluetooth_sapphire/internal/host/gatt/server.h", 123 "public/pw_bluetooth_sapphire/internal/host/gatt/types.h", 124 "public/pw_bluetooth_sapphire/internal/host/hci-spec/constants.h", 125 "public/pw_bluetooth_sapphire/internal/host/hci-spec/defaults.h", 126 "public/pw_bluetooth_sapphire/internal/host/hci-spec/le_connection_parameters.h", 127 "public/pw_bluetooth_sapphire/internal/host/hci-spec/link_key.h", 128 "public/pw_bluetooth_sapphire/internal/host/hci-spec/lmp_feature_set.h", 129 "public/pw_bluetooth_sapphire/internal/host/hci-spec/protocol.h", 130 "public/pw_bluetooth_sapphire/internal/host/hci-spec/util.h", 131 "public/pw_bluetooth_sapphire/internal/host/hci-spec/vendor_protocol.h", 132 "public/pw_bluetooth_sapphire/internal/host/hci/acl_connection.h", 133 "public/pw_bluetooth_sapphire/internal/host/hci/advertising_handle_map.h", 134 "public/pw_bluetooth_sapphire/internal/host/hci/advertising_report_parser.h", 135 "public/pw_bluetooth_sapphire/internal/host/hci/android_extended_low_energy_advertiser.h", 136 "public/pw_bluetooth_sapphire/internal/host/hci/bredr_connection.h", 137 "public/pw_bluetooth_sapphire/internal/host/hci/bredr_connection_request.h", 138 "public/pw_bluetooth_sapphire/internal/host/hci/connection.h", 139 "public/pw_bluetooth_sapphire/internal/host/hci/extended_low_energy_advertiser.h", 140 "public/pw_bluetooth_sapphire/internal/host/hci/extended_low_energy_scanner.h", 141 "public/pw_bluetooth_sapphire/internal/host/hci/fake_bredr_connection.h", 142 "public/pw_bluetooth_sapphire/internal/host/hci/fake_local_address_delegate.h", 143 "public/pw_bluetooth_sapphire/internal/host/hci/fake_low_energy_connection.h", 144 "public/pw_bluetooth_sapphire/internal/host/hci/fake_sco_connection.h", 145 "public/pw_bluetooth_sapphire/internal/host/hci/legacy_low_energy_advertiser.h", 146 "public/pw_bluetooth_sapphire/internal/host/hci/legacy_low_energy_scanner.h", 147 "public/pw_bluetooth_sapphire/internal/host/hci/local_address_delegate.h", 148 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_advertiser.h", 149 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_connection.h", 150 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_connector.h", 151 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_scanner.h", 152 "public/pw_bluetooth_sapphire/internal/host/hci/sco_connection.h", 153 "public/pw_bluetooth_sapphire/internal/host/hci/sequential_command_runner.h", 154 "public/pw_bluetooth_sapphire/internal/host/iso/fake_iso_stream.h", 155 "public/pw_bluetooth_sapphire/internal/host/iso/iso_common.h", 156 "public/pw_bluetooth_sapphire/internal/host/iso/iso_inbound_packet_assembler.h", 157 "public/pw_bluetooth_sapphire/internal/host/iso/iso_stream.h", 158 "public/pw_bluetooth_sapphire/internal/host/iso/iso_stream_manager.h", 159 "public/pw_bluetooth_sapphire/internal/host/l2cap/a2dp_offload_manager.h", 160 "public/pw_bluetooth_sapphire/internal/host/l2cap/basic_mode_rx_engine.h", 161 "public/pw_bluetooth_sapphire/internal/host/l2cap/basic_mode_tx_engine.h", 162 "public/pw_bluetooth_sapphire/internal/host/l2cap/bredr_command_handler.h", 163 "public/pw_bluetooth_sapphire/internal/host/l2cap/bredr_dynamic_channel.h", 164 "public/pw_bluetooth_sapphire/internal/host/l2cap/bredr_signaling_channel.h", 165 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel.h", 166 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel_configuration.h", 167 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel_manager.h", 168 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel_manager_mock_controller_test_fixture.h", 169 "public/pw_bluetooth_sapphire/internal/host/l2cap/command_handler.h", 170 "public/pw_bluetooth_sapphire/internal/host/l2cap/credit_based_flow_control_rx_engine.h", 171 "public/pw_bluetooth_sapphire/internal/host/l2cap/credit_based_flow_control_tx_engine.h", 172 "public/pw_bluetooth_sapphire/internal/host/l2cap/dynamic_channel.h", 173 "public/pw_bluetooth_sapphire/internal/host/l2cap/dynamic_channel_registry.h", 174 "public/pw_bluetooth_sapphire/internal/host/l2cap/enhanced_retransmission_mode_engines.h", 175 "public/pw_bluetooth_sapphire/internal/host/l2cap/enhanced_retransmission_mode_rx_engine.h", 176 "public/pw_bluetooth_sapphire/internal/host/l2cap/enhanced_retransmission_mode_tx_engine.h", 177 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_channel.h", 178 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_channel_test.h", 179 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_l2cap.h", 180 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_signaling_channel.h", 181 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_tx_channel.h", 182 "public/pw_bluetooth_sapphire/internal/host/l2cap/fcs.h", 183 "public/pw_bluetooth_sapphire/internal/host/l2cap/fragmenter.h", 184 "public/pw_bluetooth_sapphire/internal/host/l2cap/frame_headers.h", 185 "public/pw_bluetooth_sapphire/internal/host/l2cap/l2cap_defs.h", 186 "public/pw_bluetooth_sapphire/internal/host/l2cap/le_dynamic_channel.h", 187 "public/pw_bluetooth_sapphire/internal/host/l2cap/le_signaling_channel.h", 188 "public/pw_bluetooth_sapphire/internal/host/l2cap/logical_link.h", 189 "public/pw_bluetooth_sapphire/internal/host/l2cap/low_energy_command_handler.h", 190 "public/pw_bluetooth_sapphire/internal/host/l2cap/mock_channel_test.h", 191 "public/pw_bluetooth_sapphire/internal/host/l2cap/pdu.h", 192 "public/pw_bluetooth_sapphire/internal/host/l2cap/recombiner.h", 193 "public/pw_bluetooth_sapphire/internal/host/l2cap/rx_engine.h", 194 "public/pw_bluetooth_sapphire/internal/host/l2cap/scoped_channel.h", 195 "public/pw_bluetooth_sapphire/internal/host/l2cap/signaling_channel.h", 196 "public/pw_bluetooth_sapphire/internal/host/l2cap/test_packets.h", 197 "public/pw_bluetooth_sapphire/internal/host/l2cap/tx_engine.h", 198 "public/pw_bluetooth_sapphire/internal/host/l2cap/types.h", 199 "public/pw_bluetooth_sapphire/internal/host/sco/sco.h", 200 "public/pw_bluetooth_sapphire/internal/host/sco/sco_connection.h", 201 "public/pw_bluetooth_sapphire/internal/host/sco/sco_connection_manager.h", 202 "public/pw_bluetooth_sapphire/internal/host/sdp/client.h", 203 "public/pw_bluetooth_sapphire/internal/host/sdp/data_element.h", 204 "public/pw_bluetooth_sapphire/internal/host/sdp/error.h", 205 "public/pw_bluetooth_sapphire/internal/host/sdp/pdu.h", 206 "public/pw_bluetooth_sapphire/internal/host/sdp/sdp.h", 207 "public/pw_bluetooth_sapphire/internal/host/sdp/server.h", 208 "public/pw_bluetooth_sapphire/internal/host/sdp/service_discoverer.h", 209 "public/pw_bluetooth_sapphire/internal/host/sdp/service_record.h", 210 "public/pw_bluetooth_sapphire/internal/host/sm/delegate.h", 211 "public/pw_bluetooth_sapphire/internal/host/sm/ecdh_key.h", 212 "public/pw_bluetooth_sapphire/internal/host/sm/error.h", 213 "public/pw_bluetooth_sapphire/internal/host/sm/fake_phase_listener.h", 214 "public/pw_bluetooth_sapphire/internal/host/sm/packet.h", 215 "public/pw_bluetooth_sapphire/internal/host/sm/pairing_channel.h", 216 "public/pw_bluetooth_sapphire/internal/host/sm/pairing_phase.h", 217 "public/pw_bluetooth_sapphire/internal/host/sm/phase_1.h", 218 "public/pw_bluetooth_sapphire/internal/host/sm/phase_2_legacy.h", 219 "public/pw_bluetooth_sapphire/internal/host/sm/phase_2_secure_connections.h", 220 "public/pw_bluetooth_sapphire/internal/host/sm/phase_3.h", 221 "public/pw_bluetooth_sapphire/internal/host/sm/sc_stage_1.h", 222 "public/pw_bluetooth_sapphire/internal/host/sm/sc_stage_1_just_works_numeric_comparison.h", 223 "public/pw_bluetooth_sapphire/internal/host/sm/sc_stage_1_passkey.h", 224 "public/pw_bluetooth_sapphire/internal/host/sm/security_manager.h", 225 "public/pw_bluetooth_sapphire/internal/host/sm/security_request_phase.h", 226 "public/pw_bluetooth_sapphire/internal/host/sm/smp.h", 227 "public/pw_bluetooth_sapphire/internal/host/sm/test_security_manager.h", 228 "public/pw_bluetooth_sapphire/internal/host/sm/types.h", 229 "public/pw_bluetooth_sapphire/internal/host/sm/util.h", 230 "public/pw_bluetooth_sapphire/internal/host/testing/controller_test.h", 231 "public/pw_bluetooth_sapphire/internal/host/testing/controller_test_double_base.h", 232 "public/pw_bluetooth_sapphire/internal/host/testing/fake_controller.h", 233 "public/pw_bluetooth_sapphire/internal/host/testing/fake_dynamic_channel.h", 234 "public/pw_bluetooth_sapphire/internal/host/testing/fake_gatt_server.h", 235 "public/pw_bluetooth_sapphire/internal/host/testing/fake_l2cap.h", 236 "public/pw_bluetooth_sapphire/internal/host/testing/fake_peer.h", 237 "public/pw_bluetooth_sapphire/internal/host/testing/fake_sdp_server.h", 238 "public/pw_bluetooth_sapphire/internal/host/testing/fake_signaling_server.h", 239 "public/pw_bluetooth_sapphire/internal/host/testing/inspect.h", 240 "public/pw_bluetooth_sapphire/internal/host/testing/inspect_util.h", 241 "public/pw_bluetooth_sapphire/internal/host/testing/loop_fixture.h", 242 "public/pw_bluetooth_sapphire/internal/host/testing/mock_controller.h", 243 "public/pw_bluetooth_sapphire/internal/host/testing/parse_args.h", 244 "public/pw_bluetooth_sapphire/internal/host/testing/test_helpers.h", 245 "public/pw_bluetooth_sapphire/internal/host/testing/test_packets.h", 246 "public/pw_bluetooth_sapphire/internal/host/transport/acl_data_channel.h", 247 "public/pw_bluetooth_sapphire/internal/host/transport/acl_data_packet.h", 248 "public/pw_bluetooth_sapphire/internal/host/transport/command_channel.h", 249 "public/pw_bluetooth_sapphire/internal/host/transport/control_packets.h", 250 "public/pw_bluetooth_sapphire/internal/host/transport/data_buffer_info.h", 251 "public/pw_bluetooth_sapphire/internal/host/transport/emboss_packet.h", 252 "public/pw_bluetooth_sapphire/internal/host/transport/error.h", 253 "public/pw_bluetooth_sapphire/internal/host/transport/fake_acl_connection.h", 254 "public/pw_bluetooth_sapphire/internal/host/transport/fake_sco_data_channel.h", 255 "public/pw_bluetooth_sapphire/internal/host/transport/iso_data_channel.h", 256 "public/pw_bluetooth_sapphire/internal/host/transport/link_type.h", 257 "public/pw_bluetooth_sapphire/internal/host/transport/mock_acl_data_channel.h", 258 "public/pw_bluetooth_sapphire/internal/host/transport/packet.h", 259 "public/pw_bluetooth_sapphire/internal/host/transport/sco_data_channel.h", 260 "public/pw_bluetooth_sapphire/internal/host/transport/sco_data_packet.h", 261 "public/pw_bluetooth_sapphire/internal/host/transport/slab_allocators.h", 262 "public/pw_bluetooth_sapphire/internal/host/transport/transport.h", 263 ], 264 strip_include_prefix = "public", 265 tags = ["manual"], 266) 267 268cc_library( 269 name = "peripheral", 270 srcs = ["peripheral.cc"], 271 hdrs = ["public/pw_bluetooth_sapphire/peripheral.h"], 272 includes = ["public"], 273 deps = [ 274 "//pw_bluetooth:pw_bluetooth2", 275 "//pw_bluetooth_sapphire/host/gap", 276 "//pw_sync:mutex", 277 ], 278) 279 280pw_cc_test( 281 name = "peripheral_test", 282 srcs = ["peripheral_test.cc"], 283 deps = [ 284 ":peripheral", 285 "//pw_async:fake_dispatcher", 286 "//pw_async2:pend_func_task", 287 "//pw_bluetooth_sapphire/host/gap:testing", 288 ], 289) 290