mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
286 lines
8.8 KiB
Python
286 lines
8.8 KiB
Python
# Copyright 2023 Google LLC
|
|
#
|
|
# 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
|
|
#
|
|
# https://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.
|
|
|
|
licenses(["notice"])
|
|
|
|
cc_library(
|
|
name = "types",
|
|
hdrs = [
|
|
"atomic_boolean.h",
|
|
"atomic_reference.h",
|
|
"atomic_uint32.h",
|
|
"bluetooth_adapter.h",
|
|
"condition_variable.h",
|
|
"device_info.h",
|
|
"executor.h",
|
|
"future.h",
|
|
"mutex.h",
|
|
"preferences_manager.h",
|
|
"preferences_repository.h",
|
|
"scheduled_executor.h",
|
|
"submittable_executor.h",
|
|
"timer.h",
|
|
"thread_pool.h",
|
|
#"log_message.h",
|
|
"utils.h",
|
|
],
|
|
srcs = [
|
|
"device_info.cc",
|
|
#"log_message.cc",
|
|
"timer.cc",
|
|
],
|
|
copts = ["-lrt"],
|
|
visibility = ["//third_party/nearby/sharing/internal/impl/linux:__pkg__"],
|
|
deps = [
|
|
":comm",
|
|
"//internal/platform/implementation:types",
|
|
"@com_google_absl//absl/strings",
|
|
"@sdbus_cpp//:libsystemd",
|
|
"@sdbus_cpp//:sdbus_cpp",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "comm",
|
|
hdrs = [
|
|
"avahi.h",
|
|
"ble_gatt_server.h",
|
|
"ble_gatt_client.h",
|
|
# "ble_medium.h",
|
|
# "ble_v2_medium.h",
|
|
# "ble_v2_server_socket.h",
|
|
"bluetooth_adapter.h",
|
|
"bluetooth_bluez_profile.h",
|
|
"bluetooth_classic_device.h",
|
|
"bluetooth_classic_medium.h",
|
|
"bluetooth_classic_server_socket.h",
|
|
"bluetooth_classic_socket.h",
|
|
"bluetooth_devices.h",
|
|
"bluetooth_pairing.h",
|
|
"bluez.h",
|
|
"bluez_device.h",
|
|
# "bluez_agent.h",
|
|
# "bluez_advertisement_monitor.h",
|
|
# "bluez_advertisement_monitor_manager.h",
|
|
# "bluez_gatt_characteristic_client.h",
|
|
# "bluez_gatt_characteristic_server.h",
|
|
# "bluez_gatt_manager.h",
|
|
# "bluez_gatt_service_client.h",
|
|
# "bluez_gatt_service_server.h",
|
|
# "bluez_le_advertisement.h",
|
|
"dbus.h",
|
|
"network_manager.h",
|
|
"network_manager_active_connection.h",
|
|
"network_manager_access_point.h",
|
|
"stream.h",
|
|
"tcp_server_socket.h",
|
|
"wifi_direct.h",
|
|
"wifi_direct_server_socket.h",
|
|
"wifi_direct_socket.h",
|
|
"wifi_hotspot.h",
|
|
"wifi_hotspot_server_socket.h",
|
|
"wifi_hotspot_socket.h",
|
|
"wifi_lan.h",
|
|
"wifi_lan_server_socket.h",
|
|
"wifi_lan_socket.h",
|
|
"wifi_medium.h",
|
|
"wifi_socket.h",
|
|
],
|
|
deps = [
|
|
"//internal/platform:base",
|
|
"//internal/platform:comm",
|
|
"//internal/platform:types",
|
|
"//internal/platform:uuid",
|
|
"//internal/platform/implementation:comm",
|
|
"//internal/platform/implementation:types",
|
|
"//internal/platform/implementation/linux/generated:types",
|
|
"@com_google_absl//absl/base:core_headers",
|
|
"@com_google_absl//absl/container:flat_hash_map",
|
|
"@com_google_absl//absl/container:flat_hash_set",
|
|
"@com_google_absl//absl/functional:any_invocable",
|
|
"@com_google_absl//absl/memory",
|
|
"@com_google_absl//absl/status",
|
|
"@com_google_absl//absl/status:statusor",
|
|
"@com_google_absl//absl/strings",
|
|
"@com_google_absl//absl/synchronization",
|
|
"@com_google_absl//absl/time",
|
|
"@com_google_absl//absl/types:optional",
|
|
"@sdbus_cpp//:libsystemd",
|
|
"@sdbus_cpp//:sdbus_cpp",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "crypto",
|
|
srcs = [
|
|
"crypto.cc",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
"//internal/platform:base",
|
|
"//internal/platform/implementation:types",
|
|
"@boringssl//:crypto",
|
|
"@com_google_absl//absl/strings",
|
|
])
|
|
|
|
cc_library(
|
|
name = "linux",
|
|
srcs = [
|
|
"avahi.cc",
|
|
# "ble_gatt_client.cc",
|
|
# "ble_gatt_server.cc",
|
|
# "ble_v2_medium.cc",
|
|
"bluetooth_adapter.cc",
|
|
"bluetooth_bluez_profile.cc",
|
|
"bluetooth_classic_socket.cc",
|
|
"bluetooth_classic_device.cc",
|
|
"bluetooth_classic_medium.cc",
|
|
"bluetooth_classic_server_socket.cc",
|
|
"bluetooth_devices.cc",
|
|
"bluetooth_pairing.cc",
|
|
"bluez.cc",
|
|
#"bluez_agent.cc",
|
|
# "bluez_advertisement_monitor.cc",
|
|
# "bluez_gatt_characteristic_client.cc",
|
|
# "bluez_gatt_characteristic_server.cc",
|
|
# "bluez_gatt_service_server.cc",
|
|
# "bluez_le_advertisement.cc",
|
|
"dbus.cc",
|
|
"executor.cc",
|
|
"network_manager.cc",
|
|
"network_manager_active_connection.cc",
|
|
"platform.cc",
|
|
"preferences_manager.cc",
|
|
"preferences_repository.cc",
|
|
"scheduled_executor.cc",
|
|
"stream.cc",
|
|
"submittable_executor.cc",
|
|
"system_clock.cc",
|
|
"thread_pool.cc",
|
|
"utils.cc",
|
|
"wifi_direct.cc",
|
|
"wifi_direct_server_socket.cc",
|
|
"wifi_hotspot.cc",
|
|
"wifi_hotspot_server_socket.cc",
|
|
"wifi_lan.cc",
|
|
"wifi_lan_server_socket.cc",
|
|
"wifi_medium.cc",
|
|
],
|
|
linkopts = ["-lcurl"],
|
|
visibility = [
|
|
"//connections:__subpackages__",
|
|
"//fastpair:__subpackages__",
|
|
"//location/nearby:__subpackages__",
|
|
"//presence:__subpackages__",
|
|
"//third_party/nearby/sharing:__subpackages__",
|
|
],
|
|
deps = [
|
|
":comm",
|
|
":crypto", # build_cleaner: keep
|
|
":types",
|
|
"//internal/flags:nearby_flags",
|
|
"//internal/platform:base",
|
|
"//internal/platform:cancellation_flag",
|
|
"//internal/platform:comm",
|
|
"//internal/platform:types",
|
|
"//internal/platform:uuid",
|
|
"//internal/platform/flags:platform_flags",
|
|
"//internal/platform/implementation:comm",
|
|
"//internal/platform/implementation:platform",
|
|
"//internal/platform/implementation:types",
|
|
"//internal/platform/implementation/shared:count_down_latch",
|
|
"//internal/platform/implementation/shared:file",
|
|
"//internal/platform/implementation/linux/generated:types",
|
|
"@com_google_absl//absl/base:core_headers",
|
|
"@com_google_absl//absl/container:flat_hash_map",
|
|
"@com_google_absl//absl/functional:any_invocable",
|
|
"@com_google_absl//absl/log:check",
|
|
"@com_google_absl//absl/memory",
|
|
"@com_google_absl//absl/status",
|
|
"@com_google_absl//absl/status:statusor",
|
|
"@com_google_absl//absl/strings",
|
|
"@com_google_absl//absl/strings:str_format",
|
|
"@com_google_absl//absl/synchronization",
|
|
"@com_google_absl//absl/time",
|
|
"@com_google_absl//absl/types:optional",
|
|
"@nlohmann_json//:json",
|
|
"@sdbus_cpp//:libsystemd",
|
|
"@sdbus_cpp//:sdbus_cpp",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "test_utils",
|
|
srcs = [
|
|
"test_utils.cc",
|
|
],
|
|
hdrs = [
|
|
"test_data.h",
|
|
"test_utils.h",
|
|
],
|
|
visibility = [
|
|
"//visibility:private", # Only private by automation, not intent. Owner may accept CLs adding visibility. See go/scheuklappen#explicit-private.
|
|
],
|
|
deps = [
|
|
"//internal/platform:base",
|
|
"@nlohmann_json//:json",
|
|
":types",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "impl_test",
|
|
size = "small",
|
|
srcs = [
|
|
"atomic_boolean_test.cc",
|
|
"atomic_reference_test.cc",
|
|
"mutex_test.cc",
|
|
"utils_test.cc",
|
|
# "bluetooth_adapter_test.cc",
|
|
# "crypto_test.cc",
|
|
# "device_info_test.cc",
|
|
# "executor_test.cc",
|
|
# "file_path_test.cc",
|
|
# "http_loader_test.cc",
|
|
# "preferences_manager_test.cc",
|
|
# "preferences_repository_test.cc",
|
|
# "scheduled_executor_test.cc",
|
|
# "submittable_executor_test.cc",
|
|
# "thread_pool_test.cc",
|
|
# "timer_test.cc",
|
|
],
|
|
tags = ["notap"],
|
|
deps = [
|
|
":comm",
|
|
":crypto",
|
|
":test_utils",
|
|
":types",
|
|
":linux",
|
|
"//internal/platform:base",
|
|
"//internal/platform/implementation:comm",
|
|
"//internal/platform/implementation:platform",
|
|
"//internal/platform/implementation:types",
|
|
"//internal/platform/implementation/shared:count_down_latch",
|
|
"@com_github_protobuf_matchers//protobuf-matchers",
|
|
"@com_google_absl//absl/status",
|
|
"@com_google_absl//absl/strings",
|
|
"@com_google_absl//absl/synchronization",
|
|
"@com_google_absl//absl/time",
|
|
"@com_google_absl//absl/types:span",
|
|
"@com_google_googletest//:gtest_main",
|
|
"@nlohmann_json//:json",
|
|
],
|
|
)
|