diff --git a/sharing/fake_nearby_sharing_service.cc b/sharing/fake_nearby_sharing_service.cc index 42538323..c5975af4 100644 --- a/sharing/fake_nearby_sharing_service.cc +++ b/sharing/fake_nearby_sharing_service.cc @@ -18,6 +18,7 @@ #include #include #include +#include #include "location/nearby/sharing/lib/sync/sync_manager.h" #include "absl/functional/any_invocable.h" @@ -165,6 +166,14 @@ void FakeNearbySharingService::Cancel( status_codes_callback(StatusCodes::kOk); } +void FakeNearbySharingService::InitiatePairing( + int64_t share_target_id, service::proto::BindingRequest::Type binding_type, + absl::AnyInvocable + status_codes_callback) { + initiate_pairing_callbacks_[share_target_id] = + std::move(status_codes_callback); +} + std::string FakeNearbySharingService::Dump() const { return ""; } NearbyShareSettings* FakeNearbySharingService::GetSettings() { return nullptr; } @@ -281,5 +290,16 @@ void FakeNearbySharingService::FireShareTargetLost(ShareTarget share_target) { } } +void FakeNearbySharingService::FireInitiatePairingResult( + int64_t share_target_id, StatusCodes status) { + auto it = initiate_pairing_callbacks_.find(share_target_id); + if (it == initiate_pairing_callbacks_.end()) { + return; + } + auto callback = std::move(it->second); + initiate_pairing_callbacks_.erase(it); + std::move(callback)(status); +} + } // namespace sharing } // namespace nearby diff --git a/sharing/fake_nearby_sharing_service.h b/sharing/fake_nearby_sharing_service.h index db47f7b1..4cd22969 100644 --- a/sharing/fake_nearby_sharing_service.h +++ b/sharing/fake_nearby_sharing_service.h @@ -121,7 +121,7 @@ class FakeNearbySharingService : public NearbySharingService { int64_t share_target_id, service::proto::BindingRequest::Type binding_type, absl::AnyInvocable - status_codes_callback) override {} + status_codes_callback) override; std::string Dump() const override; bool IsBluetoothPresent() const override { return true; } @@ -180,6 +180,7 @@ class FakeNearbySharingService : public NearbySharingService { void FireShareTargetDiscovered(ShareTarget share_target); void FireShareTargetUpdated(ShareTarget share_target); void FireShareTargetLost(ShareTarget share_target); + void FireInitiatePairingResult(int64_t share_target_id, StatusCodes status); private: ObserverList observers_; @@ -202,6 +203,9 @@ class FakeNearbySharingService : public NearbySharingService { FakeNearbyIdentityClient identity_rpc_client_; std::unique_ptr sync_manager_; std::unique_ptr outgoing_targets_manager_; + absl::flat_hash_map> + initiate_pairing_callbacks_; }; } // namespace sharing