| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ash/secure_channel/nearby_endpoint_finder.h" |
| |
| #include "chromeos/ash/services/nearby/public/mojom/nearby_connections_types.mojom.h" |
| |
| namespace ash { |
| namespace secure_channel { |
| |
| NearbyEndpointFinder::NearbyEndpointFinder() = default; |
| |
| NearbyEndpointFinder::~NearbyEndpointFinder() = default; |
| |
| void NearbyEndpointFinder::FindEndpoint( |
| const std::vector<uint8_t>& remote_device_bluetooth_address, |
| const std::vector<uint8_t>& eid, |
| EndpointCallback success_callback, |
| base::OnceCallback<void(::nearby::connections::mojom::Status)> |
| failure_callback) { |
| // Only intended to be called once. |
| DCHECK(remote_device_bluetooth_address_.empty()); |
| |
| remote_device_bluetooth_address_ = remote_device_bluetooth_address; |
| eid_ = eid; |
| success_callback_ = std::move(success_callback); |
| failure_callback_ = std::move(failure_callback); |
| |
| PerformFindEndpoint(); |
| } |
| |
| void NearbyEndpointFinder::NotifyEndpointFound( |
| const std::string& endpoint_id, |
| ::nearby::connections::mojom::DiscoveredEndpointInfoPtr info) { |
| std::move(success_callback_).Run(endpoint_id, std::move(info)); |
| } |
| |
| void NearbyEndpointFinder::NotifyEndpointDiscoveryFailure( |
| ::nearby::connections::mojom::Status status) { |
| std::move(failure_callback_).Run(status); |
| } |
| |
| } // namespace secure_channel |
| } // namespace ash |