[iOS NC] LSC: Separate third_party/nearby/internal/platform/implementation/ios to

- third_party/nearby/internal/platform/implementation/ios (for platform)
- third_party/nearby/connections/clients/ios (for connections)
- third_party/nearby/connections/samples/ios (for sample codes)

PiperOrigin-RevId: 440895852
This commit is contained in:
edwinwu
2022-04-11 08:19:27 -07:00
committed by Copybara-Service
parent fcb3b27314
commit a6f4bb9c04
83 changed files with 268 additions and 307 deletions
+8 -10
View File
@@ -372,7 +372,6 @@ let package = Package(
"connections/clients/windows",
"docs",
"internal/platform/implementation/g3",
"internal/platform/implementation/ios/Example",
"internal/platform/implementation/ios/Tests",
"internal/platform/implementation/windows",
"third_party",
@@ -381,6 +380,7 @@ let package = Package(
"README.md",
"WORKSPACE",
// build files
"connections/clients/ios/BUILD",
"connections/implementation/proto/BUILD",
"connections/implementation/proto/CMakeLists.txt",
"connections/implementation/mediums/ble_v2/BUILD",
@@ -391,9 +391,7 @@ let package = Package(
"connections/BUILD",
"internal/proto/analytics/BUILD",
"internal/platform/implementation/shared/BUILD",
"internal/platform/implementation/ios/Source/Platform/BUILD",
"internal/platform/implementation/ios/Source/Shared/BUILD",
"internal/platform/implementation/ios/Source/Mediums/BUILD",
"internal/platform/implementation/ios/Mediums/BUILD",
"internal/platform/implementation/ios/Tests/BUILD",
"internal/platform/implementation/ios/BUILD",
"internal/platform/implementation/BUILD",
@@ -468,12 +466,12 @@ let package = Package(
"internal/platform/ble_test.cc",
"internal/platform/ble_v2_test.cc",
"internal/platform/prng_test.cc",
"internal/platform/implementation/ios/count_down_latch_test.cc",
"internal/platform/implementation/ios/condition_variable_test.cc",
"internal/platform/implementation/ios/mutex_test.cc",
"internal/platform/implementation/ios/atomic_boolean_test.cc",
"internal/platform/implementation/ios/atomic_uint32_test.cc",
"internal/platform/implementation/shared/file_test.cc",
"internal/platform/implementation/ios/Source/Platform/count_down_latch_test.cc",
"internal/platform/implementation/ios/Source/Platform/condition_variable_test.cc",
"internal/platform/implementation/ios/Source/Platform/mutex_test.cc",
"internal/platform/implementation/ios/Source/Platform/atomic_boolean_test.cc",
"internal/platform/implementation/ios/Source/Platform/atomic_uint32_test.cc",
"internal/platform/atomic_boolean_test.cc",
"internal/platform/exception_test.cc",
"internal/platform/error_code_recorder_test.cc",
@@ -512,7 +510,7 @@ let package = Package(
"internal",
"proto",
],
publicHeadersPath: "internal/platform/implementation/ios/Source/Public",
publicHeadersPath: "connections/clients/ios/Public",
cSettings: [
.headerSearchPath("./"),
.headerSearchPath("compiled_proto/"),
+70
View File
@@ -0,0 +1,70 @@
# Copyright 2020 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.
load("//tools/build_defs/apple:ios.bzl", "ios_static_framework")
licenses(["notice"])
package(default_visibility = ["//visibility:public"])
objc_library(
name = "Connections",
srcs = [
"Internal/GNCAdvertiser.mm",
"Internal/GNCCore.mm",
"Internal/GNCCoreConnection.mm",
"Internal/GNCDiscoverer.mm",
"Internal/GNCPayload.mm",
"Internal/GNCPayloadListener.mm",
"Internal/GNCUtils.mm",
],
hdrs = [
"Internal/GNCCore.h",
"Internal/GNCCoreConnection.h",
"Internal/GNCPayload+Internal.h",
"Internal/GNCPayloadListener.h",
"Internal/GNCUtils.h",
"Public/NearbyConnections/GNCAdvertiser.h",
"Public/NearbyConnections/GNCConnection.h",
"Public/NearbyConnections/GNCConnections.h",
"Public/NearbyConnections/GNCDiscoverer.h",
"Public/NearbyConnections/GNCPayload.h",
],
features = ["-layering_check"],
deps = [
"//connections:core",
"//connections:core_types",
"//internal/platform/implementation/ios:Platform",
"//third_party/objective_c/google_toolbox_for_mac:GTM_Logger",
"@com_google_absl//absl/functional:bind_front",
],
)
MIN_IOS_VERSION = "12.0"
HDRS_POD = [
"GNCAdvertiser.h",
"GNCConnection.h",
"GNCDiscoverer.h",
"GNCPayload.h",
]
ios_static_framework(
name = "NearbyConnections_framework",
hdrs = HDRS_POD,
bundle_name = "NearbyConnections",
minimum_os_version = MIN_IOS_VERSION,
deps = [
":Connections",
],
)
@@ -12,23 +12,23 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCAdvertiser.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCAdvertiser.h"
#include <string>
#include "absl/functional/bind_front.h"
#include "connections/advertising_options.h"
#import "connections/clients/ios/Internal/GNCCore.h"
#import "connections/clients/ios/Internal/GNCCoreConnection.h"
#import "connections/clients/ios/Internal/GNCPayloadListener.h"
#import "connections/clients/ios/Internal/GNCUtils.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
#include "connections/core.h"
#include "connections/listeners.h"
#include "connections/params.h"
#include "connections/status.h"
#include "internal/platform/byte_array.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCCore.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCCoreConnection.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCPayloadListener.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCUtils.h"
#import "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
#import "internal/platform/implementation/ios/utils.h"
#import "GoogleToolboxForMac/GTMLogger.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Internal/GNCCore.h"
#import "connections/clients/ios/Internal/GNCCore.h"
#include <utility>
@@ -14,8 +14,8 @@
#import <Foundation/Foundation.h>
#import "internal/platform/implementation/ios/Source/Internal/GNCCore.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
#import "connections/clients/ios/Internal/GNCCore.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,18 +12,18 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "connections/clients/ios/Internal/GNCCoreConnection.h"
#include <utility>
#import "internal/platform/implementation/ios/Source/Internal/GNCCoreConnection.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCPayload.h"
#include "connections/core.h"
#include "connections/payload.h"
#include "internal/platform/exception.h"
#include "internal/platform/file.h"
#include "internal/platform/implementation/input_file.h"
#import "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCPayload.h"
#import "internal/platform/implementation/ios/utils.h"
#include "internal/platform/input_stream.h"
#include "internal/platform/payload_id.h"
@@ -12,24 +12,24 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCDiscoverer.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCDiscoverer.h"
#include <string>
#include <utility>
#include "absl/functional/bind_front.h"
#import "connections/clients/ios/Internal/GNCCore.h"
#import "connections/clients/ios/Internal/GNCCoreConnection.h"
#import "connections/clients/ios/Internal/GNCPayloadListener.h"
#import "connections/clients/ios/Internal/GNCUtils.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
#include "connections/connection_options.h"
#include "connections/core.h"
#include "connections/discovery_options.h"
#include "connections/listeners.h"
#include "connections/status.h"
#include "internal/platform/byte_array.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCCore.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCCoreConnection.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCPayloadListener.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCUtils.h"
#import "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
#import "internal/platform/implementation/ios/utils.h"
#import "GoogleToolboxForMac/GTMLogger.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCPayload.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCPayload.h"
NS_ASSUME_NONNULL_BEGIN
@@ -21,13 +21,11 @@ NS_ASSUME_NONNULL_BEGIN
+ (instancetype)payloadWithBytes:(NSData *)bytes identifier:(int64_t)identifier;
@end
/** This category adds the ability to specify a payload ID. */
@interface GNCStreamPayload (Internal)
+ (instancetype)payloadWithStream:(NSInputStream *)stream identifier:(int64_t)identifier;
@end
/** This category adds the ability to specify a payload ID. */
@interface GNCFilePayload (Internal)
+ (instancetype)payloadWithFileURL:(NSURL *)fileURL identifier:(int64_t)identifier;
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCPayload.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCPayload.h"
#include "connections/payload.h"
#include "internal/platform/payload_id.h"
@@ -14,8 +14,10 @@
#import <Foundation/Foundation.h>
#import "internal/platform/implementation/ios/Source/Internal/GNCCore.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
#include <string>
#import "connections/clients/ios/Internal/GNCCore.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -38,9 +40,8 @@ class GNCPayloadListener : public PayloadListener {
GNCPayloadsProvider payloadsProvider)
: core_(core), handlers_provider_(handlersProvider), payloads_provider_(payloadsProvider) {}
void OnPayload(const std::string& endpoint_id, Payload payload);
void OnPayloadProgress(const std::string& endpoint_id,
const PayloadProgressInfo& info);
void OnPayload(const std::string &endpoint_id, Payload payload);
void OnPayloadProgress(const std::string &endpoint_id, const PayloadProgressInfo &info);
private:
GNCCore *core_;
@@ -12,22 +12,22 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Internal/GNCPayloadListener.h"
#import "connections/clients/ios/Internal/GNCPayloadListener.h"
#include <string>
#import "connections/clients/ios/Internal/GNCCore.h"
#import "connections/clients/ios/Internal/GNCCoreConnection.h"
#import "connections/clients/ios/Internal/GNCPayload+Internal.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCPayload.h"
#include "connections/core.h"
#include "connections/listeners.h"
#include "connections/payload.h"
#include "internal/platform/byte_array.h"
#include "internal/platform/exception.h"
#include "internal/platform/file.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCCore.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCCoreConnection.h"
#import "internal/platform/implementation/ios/Source/Internal/GNCPayload+Internal.h"
#include "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCPayload.h"
#include "internal/platform/implementation/ios/utils.h"
#include "internal/platform/input_stream.h"
NS_ASSUME_NONNULL_BEGIN
@@ -16,9 +16,9 @@
#include <string>
#import "connections/clients/ios/Public/NearbyConnections/GNCAdvertiser.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
#include "connections/listeners.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCAdvertiser.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Internal/GNCUtils.h"
#import "connections/clients/ios/Internal/GNCUtils.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCAdvertiser.h"
#import "connections/clients/ios/Public/NearbyConnections/GNCConnection.h"
#include "connections/strategy.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCAdvertiser.h"
#import "internal/platform/implementation/ios/Source/Public/NearbyConnections/GNCConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -46,7 +46,8 @@ typedef GNCConnectionHandler _Nonnull (^GNCDiscovererConnectionInitializationHan
* @param failureHandler This handler is called if there was an error making the connection.
*/
typedef void (^GNCConnectionRequester)(
NSData *endpointInfo, GNCDiscovererConnectionInitializationHandler connectionAuthorizationHandler,
NSData *endpointInfo,
GNCDiscovererConnectionInitializationHandler connectionAuthorizationHandler,
GNCConnectionFailureHandler failureHandler);
/** Information about an endpoint when it's discovered. */
@@ -195,4 +195,4 @@ If you meet the following error in the debug panel of Xcode, you likely need to
}
```
---
NOTE: The iOS simulator is unstable when advertising. We recommend using an real iOS device.
NOTE: The iOS simulator is unstable when advertising. We recommend using a real iOS device.

Before

Width:  |  Height:  |  Size: 698 KiB

After

Width:  |  Height:  |  Size: 698 KiB

+81 -42
View File
@@ -11,62 +11,101 @@
# 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.
load("//tools/build_defs/apple:ios.bzl", "ios_static_framework")
licenses(["notice"])
package(default_visibility = ["//visibility:public"])
package(default_visibility = [
"//connections/clients/ios:__subpackages__",
"//internal/platform/implementation/ios:__subpackages__",
])
objc_library(
name = "Connections",
name = "Platform",
srcs = [
"Source/Internal/GNCAdvertiser.mm",
"Source/Internal/GNCCore.mm",
"Source/Internal/GNCCoreConnection.mm",
"Source/Internal/GNCDiscoverer.mm",
"Source/Internal/GNCPayload.mm",
"Source/Internal/GNCPayloadListener.mm",
"Source/Internal/GNCUtils.mm",
"crypto.mm",
"log_message.mm",
"multi_thread_executor.mm",
"platform.mm",
"scheduled_executor.mm",
"utils.mm",
"wifi_lan.mm",
],
hdrs = [
"Source/Internal/GNCCore.h",
"Source/Internal/GNCCoreConnection.h",
"Source/Internal/GNCPayload+Internal.h",
"Source/Internal/GNCPayloadListener.h",
"Source/Internal/GNCUtils.h",
"Source/Public/NearbyConnections/GNCAdvertiser.h",
"Source/Public/NearbyConnections/GNCConnection.h",
"Source/Public/NearbyConnections/GNCConnections.h",
"Source/Public/NearbyConnections/GNCDiscoverer.h",
"Source/Public/NearbyConnections/GNCPayload.h",
"log_message.h",
"multi_thread_executor.h",
"scheduled_executor.h",
"single_thread_executor.h",
"utils.h",
"wifi_lan.h",
],
features = ["-layering_check"],
sdk_frameworks = [
"CoreBluetooth",
"CoreFoundation",
],
deps = [
"//connections:core",
"//connections:core_types",
"//internal/platform/implementation/ios/Source/Mediums",
"//internal/platform/implementation/ios/Source/Platform",
"//internal/platform/implementation/ios/Source/Shared",
":Platform_cc",
":Shared",
"//internal/platform/implementation:platform",
"//internal/platform/implementation:types",
"//internal/platform/implementation/ios/Mediums",
"//internal/platform/implementation/shared:file",
"//third_party/objective_c/google_toolbox_for_mac:GTM_Logger",
"@com_google_absl//absl/functional:bind_front",
],
)
MIN_IOS_VERSION = "12.0"
HDRS_POD = [
"Source/Public/NearbyConnections/GNCAdvertiser.h",
"Source/Public/NearbyConnections/GNCConnection.h",
"Source/Public/NearbyConnections/GNCDiscoverer.h",
"Source/Public/NearbyConnections/GNCPayload.h",
]
ios_static_framework(
name = "NearbyConnections_framework",
hdrs = HDRS_POD,
bundle_name = "NearbyConnections",
minimum_os_version = MIN_IOS_VERSION,
objc_library(
name = "Shared",
srcs = [
"GNCUtils.m",
],
hdrs = [
"GNCUtils.h",
],
deps = [
":Connections",
"//third_party/objective_c/google_toolbox_for_mac:GTM_StringEncoding",
"@aappleby_smhasher//:libmurmur3",
],
)
cc_library(
name = "Platform_cc",
srcs = [
"condition_variable.cc",
"count_down_latch.cc",
"system_clock.cc",
],
hdrs = [
"atomic_boolean.h",
"atomic_uint32.h",
"condition_variable.h",
"count_down_latch.h",
"mutex.h",
],
deps = [
"//internal/platform/implementation:platform",
"//internal/platform/implementation:types",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
],
)
cc_test(
name = "Platform_cc_test",
srcs = [
"atomic_boolean_test.cc",
"atomic_uint32_test.cc",
"condition_variable_test.cc",
"count_down_latch_test.cc",
"mutex_test.cc",
],
shard_count = 16,
deps = [
":Platform_cc",
"@com_github_protobuf_matchers//protobuf-matchers",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
"@com_google_googletest//:gtest_main",
"@com_google_nisaba//nisaba/port:thread_pool/fiber",
],
)
@@ -29,7 +29,6 @@ NSData *_Nullable GNCSha256Data(NSData *data);
/// Generates a SHA-256 hash (32 bytes) from a string.
NSData *_Nullable GNCSha256String(NSString *string);
/// Generates an MD5 hash (16 bytes) from a data object.
NSData *_Nullable GNCMd5Data(NSData *data);
@@ -37,7 +36,7 @@ NSData *_Nullable GNCMd5Data(NSData *data);
NSData *_Nullable GNCMd5String(NSString *string);
#ifdef __cplusplus
} // extern "C"
} // extern "C"
#endif
NS_ASSUME_NONNULL_END
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Shared/GNCUtils.h"
#import "internal/platform/implementation/ios/GNCUtils.h"
#import <CommonCrypto/CommonDigest.h>
@@ -37,7 +37,7 @@ objc_library(
],
deps = [
":ObjCProtos",
"//internal/platform/implementation/ios/Source/Shared",
"//internal/platform/implementation/ios:Shared",
"//third_party/objective_c/google_toolbox_for_mac:GTM_Logger",
"@com_google_absl//absl/numeric:int128",
],
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Mediums/GNCLeaks.h"
#import "internal/platform/implementation/ios/Mediums/GNCLeaks.h"
void GNCVerifyDealloc(id object, NSTimeInterval timeInterval) {
#if DEBUG
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -14,7 +14,7 @@
#import <Foundation/Foundation.h>
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourBrowser.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourBrowser.h"
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourConnection.h"
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourUtils.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourConnection.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourUtils.h"
#import "GoogleToolboxForMac/GTMLogger.h"
typedef NSString *GNCEndpointId;
@@ -14,7 +14,7 @@
#import <Foundation/Foundation.h>
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourConnection.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourConnection.h"
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
#import "GoogleToolboxForMac/GTMLogger.h"
enum { kMaxPacketSize = 32 * 1024 };
@@ -14,7 +14,7 @@
#import <Foundation/Foundation.h>
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
NS_ASSUME_NONNULL_BEGIN
@@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourService.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourService.h"
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourConnection.h"
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourUtils.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourConnection.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourUtils.h"
#import "GoogleToolboxForMac/GTMLogger.h"
@interface GNCMBonjourService () <NSNetServiceDelegate>
@@ -12,6 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourUtils.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourUtils.h"
NSString *const GNCMBonjourDomain = @"local";
@@ -1,94 +0,0 @@
# Copyright 2020 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"])
package(default_visibility = ["//internal/platform/implementation/ios:__subpackages__"])
objc_library(
name = "Platform",
srcs = [
"crypto.mm",
"log_message.mm",
"multi_thread_executor.mm",
"platform.mm",
"scheduled_executor.mm",
"utils.mm",
"wifi_lan.mm",
],
hdrs = [
"log_message.h",
"multi_thread_executor.h",
"scheduled_executor.h",
"single_thread_executor.h",
"utils.h",
"wifi_lan.h",
],
features = ["-layering_check"],
sdk_frameworks = [
"CoreBluetooth",
"CoreFoundation",
],
deps = [
":Platform_cc",
"//internal/platform/implementation:platform",
"//internal/platform/implementation:types",
"//internal/platform/implementation/ios/Source/Mediums",
"//internal/platform/implementation/ios/Source/Shared",
"//internal/platform/implementation/shared:file",
"//third_party/objective_c/google_toolbox_for_mac:GTM_Logger",
],
)
cc_library(
name = "Platform_cc",
srcs = [
"condition_variable.cc",
"count_down_latch.cc",
"system_clock.cc",
],
hdrs = [
"atomic_boolean.h",
"atomic_uint32.h",
"condition_variable.h",
"count_down_latch.h",
"mutex.h",
],
deps = [
"//internal/platform/implementation:platform",
"//internal/platform/implementation:types",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
],
)
cc_test(
name = "Platform_cc_test",
srcs = [
"atomic_boolean_test.cc",
"atomic_uint32_test.cc",
"condition_variable_test.cc",
"count_down_latch_test.cc",
"mutex_test.cc",
],
shard_count = 16,
deps = [
":Platform_cc",
"@com_github_protobuf_matchers//protobuf-matchers",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
"@com_google_googletest//:gtest_main",
"@com_google_nisaba//nisaba/port:thread_pool/fiber",
],
)
@@ -1,30 +0,0 @@
# Copyright 2020 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"])
package(default_visibility = ["//internal/platform/implementation/ios:__subpackages__"])
objc_library(
name = "Shared",
srcs = [
"GNCUtils.m",
],
hdrs = [
"GNCUtils.h",
],
deps = [
"//third_party/objective_c/google_toolbox_for_mac:GTM_StringEncoding",
"@aappleby_smhasher//:libmurmur3",
],
)
@@ -21,14 +21,16 @@ objc_library(
name = "PlatformTestslib",
testonly = 1,
srcs = [
"Platform/GNCCryptoTest.mm",
"Platform/GNCMultiThreadExecutorTest.mm",
"Platform/GNCScheduledExecutorTest.mm",
"Platform/GNCSingleThreadExecutorTest.mm",
"GNCCryptoTest.mm",
"GNCMultiThreadExecutorTest.mm",
"GNCScheduledExecutorTest.mm",
"GNCSingleThreadExecutorTest.mm",
"GNCUtilsTest.mm",
],
features = ["-layering_check"],
deps = [
"//internal/platform/implementation/ios:Connections",
"//internal/platform/implementation/ios:Platform",
"//internal/platform/implementation/ios:Shared",
],
)
@@ -40,25 +42,3 @@ ios_unit_test(
":PlatformTestslib",
],
)
objc_library(
name = "SharedTestslib",
testonly = 1,
srcs = [
"Shared/GNCUtilsTest.mm",
],
features = ["-layering_check"],
deps = [
"//internal/platform/implementation/ios/Source/Platform",
"//internal/platform/implementation/ios/Source/Shared",
],
)
ios_unit_test(
name = "SharedTests",
minimum_os_version = "12.0",
runner = "//testing/utp/ios:IOS_12",
deps = [
":SharedTestslib",
],
)
@@ -15,7 +15,7 @@
#import <XCTest/XCTest.h>
#include "internal/platform/byte_array.h"
#include "internal/platform/implementation/ios/Source/Platform/utils.h"
#include "internal/platform/implementation/ios/utils.h"
using location::nearby::ByteArray;
using location::nearby::ByteArrayFromNSData;
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/atomic_boolean.h"
#include "internal/platform/implementation/ios/atomic_boolean.h"
#include "gtest/gtest.h"
#include "thread/fiber/fiber.h"
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/atomic_uint32.h"
#include "internal/platform/implementation/ios/atomic_uint32.h"
#include "gtest/gtest.h"
#include "thread/fiber/fiber.h"
@@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/condition_variable.h"
#include "internal/platform/implementation/ios/condition_variable.h"
#include "internal/platform/implementation/ios/Source/Platform/mutex.h"
#include "internal/platform/implementation/ios/mutex.h"
namespace location {
namespace nearby {
@@ -17,7 +17,7 @@
#include "absl/synchronization/mutex.h"
#include "internal/platform/implementation/condition_variable.h"
#include "internal/platform/implementation/ios/Source/Platform/mutex.h"
#include "internal/platform/implementation/ios/mutex.h"
namespace location {
namespace nearby {
@@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/condition_variable.h"
#include "internal/platform/implementation/ios/condition_variable.h"
#include "gtest/gtest.h"
#include "absl/time/clock.h"
#include "internal/platform/implementation/ios/Source/Platform/mutex.h"
#include "internal/platform/implementation/ios/mutex.h"
#include "thread/fiber/fiber.h"
namespace location {
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/count_down_latch.h"
#include "internal/platform/implementation/ios/count_down_latch.h"
namespace location {
namespace nearby {
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/count_down_latch.h"
#include "internal/platform/implementation/ios/count_down_latch.h"
#include "gtest/gtest.h"
#include "thread/fiber/fiber.h"
@@ -15,8 +15,8 @@
#include "internal/platform/implementation/crypto.h"
#import "absl/strings/string_view.h"
#import "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/Source/Shared/GNCUtils.h"
#import "internal/platform/implementation/ios/GNCUtils.h"
#import "internal/platform/implementation/ios/utils.h"
namespace location {
namespace nearby {
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/log_message.h"
#include "internal/platform/implementation/ios/log_message.h"
#ifndef NEARBY_SWIFTPM
#include "glog/logging.h"
@@ -15,9 +15,9 @@
#ifndef PLATFORM_IMPL_IOS_MULTI_THREAD_EXECUTOR_H_
#define PLATFORM_IMPL_IOS_MULTI_THREAD_EXECUTOR_H_
#import "internal/platform/implementation/ios/scheduled_executor.h"
#include "internal/platform/implementation/submittable_executor.h"
#import "internal/platform/runnable.h"
#import "internal/platform/implementation/ios/Source/Platform/scheduled_executor.h"
namespace location {
namespace nearby {
@@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Platform/multi_thread_executor.h"
#import "internal/platform/implementation/ios/multi_thread_executor.h"
#import "internal/platform/implementation/ios/Source/Platform/scheduled_executor.h"
#import "internal/platform/implementation/ios/scheduled_executor.h"
#include "internal/platform/runnable.h"
namespace location {
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "internal/platform/implementation/ios/Source/Platform/mutex.h"
#include "internal/platform/implementation/ios/mutex.h"
#include "gtest/gtest.h"
#include "absl/synchronization/mutex.h"
@@ -16,17 +16,17 @@
#include <string>
#include "internal/platform/implementation/ios/Source/Platform/atomic_boolean.h"
#include "internal/platform/implementation/ios/Source/Platform/atomic_uint32.h"
#include "internal/platform/implementation/ios/Source/Platform/condition_variable.h"
#include "internal/platform/implementation/ios/Source/Platform/count_down_latch.h"
#import "internal/platform/implementation/ios/Source/Platform/log_message.h"
#import "internal/platform/implementation/ios/Source/Platform/multi_thread_executor.h"
#include "internal/platform/implementation/ios/Source/Platform/mutex.h"
#import "internal/platform/implementation/ios/Source/Platform/scheduled_executor.h"
#import "internal/platform/implementation/ios/Source/Platform/single_thread_executor.h"
#import "internal/platform/implementation/ios/Source/Platform/utils.h"
#include "internal/platform/implementation/ios/Source/Platform/wifi_lan.h"
#include "internal/platform/implementation/ios/atomic_boolean.h"
#include "internal/platform/implementation/ios/atomic_uint32.h"
#include "internal/platform/implementation/ios/condition_variable.h"
#include "internal/platform/implementation/ios/count_down_latch.h"
#import "internal/platform/implementation/ios/log_message.h"
#import "internal/platform/implementation/ios/multi_thread_executor.h"
#include "internal/platform/implementation/ios/mutex.h"
#import "internal/platform/implementation/ios/scheduled_executor.h"
#import "internal/platform/implementation/ios/single_thread_executor.h"
#import "internal/platform/implementation/ios/utils.h"
#include "internal/platform/implementation/ios/wifi_lan.h"
#include "internal/platform/implementation/mutex.h"
#include "internal/platform/implementation/shared/file.h"
#include "internal/platform/payload_id.h"
@@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Platform/scheduled_executor.h"
#import "internal/platform/implementation/ios/scheduled_executor.h"
#import <Foundation/Foundation.h>
#include "absl/time/time.h"
#import "internal/platform/implementation/ios/Source/Platform/atomic_boolean.h"
#import "internal/platform/implementation/ios/atomic_boolean.h"
#include "internal/platform/runnable.h"
// This wraps the C++ Runnable in an Obj-C object for memory management. It is retained by the
@@ -15,7 +15,7 @@
#ifndef PLATFORM_IMPL_IOS_SINGLE_THREAD_EXECUTOR_H_
#define PLATFORM_IMPL_IOS_SINGLE_THREAD_EXECUTOR_H_
#import "internal/platform/implementation/ios/Source/Platform/multi_thread_executor.h"
#import "internal/platform/implementation/ios/multi_thread_executor.h"
namespace location {
namespace nearby {
@@ -32,4 +32,3 @@ class SingleThreadExecutor : public MultiThreadExecutor {
} // namespace location
#endif // PLATFORM_IMPL_IOS_SINGLE_THREAD_EXECUTOR_H_
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/utils.h"
#import "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
@@ -20,9 +20,9 @@
#include "absl/base/thread_annotations.h"
#include "absl/container/flat_hash_map.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h" // IWYU pragma: export
#include "internal/platform/implementation/wifi_lan.h"
#include "internal/platform/nsd_service_info.h"
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h" // IWYU pragma: export
@class GNCMBonjourBrowser;
@class GNCMBonjourService;
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#import "internal/platform/implementation/ios/Source/Platform/wifi_lan.h"
#import "internal/platform/implementation/ios/wifi_lan.h"
#include <memory>
#include <string>
@@ -26,10 +26,10 @@
#include "absl/synchronization/mutex.h"
#include "internal/platform/cancellation_flag.h"
#include "internal/platform/exception.h"
#import "internal/platform/implementation/ios/Source/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourBrowser.h"
#import "internal/platform/implementation/ios/Source/Mediums/WifiLan/GNCMBonjourService.h"
#include "internal/platform/implementation/ios/Source/Platform/utils.h"
#import "internal/platform/implementation/ios/Mediums/GNCMConnection.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourBrowser.h"
#import "internal/platform/implementation/ios/Mediums/WifiLan/GNCMBonjourService.h"
#include "internal/platform/implementation/ios/utils.h"
#include "internal/platform/implementation/wifi_lan.h"
#include "internal/platform/nsd_service_info.h"
#include "internal/platform/prng.h"