| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "diagnostics/cros_healthd/network_diagnostics/network_diagnostics_adapter_impl.h" |
| |
| #include <utility> |
| |
| namespace diagnostics { |
| |
| namespace { |
| |
| namespace network_diagnostics_ipc = ::chromeos::network_diagnostics::mojom; |
| |
| } // namespace |
| |
| NetworkDiagnosticsAdapterImpl::NetworkDiagnosticsAdapterImpl() = default; |
| NetworkDiagnosticsAdapterImpl::~NetworkDiagnosticsAdapterImpl() = default; |
| |
| void NetworkDiagnosticsAdapterImpl::SetNetworkDiagnosticsRoutines( |
| mojo::PendingRemote<network_diagnostics_ipc::NetworkDiagnosticsRoutines> |
| network_diagnostics_routines) { |
| network_diagnostics_routines_.Bind(std::move(network_diagnostics_routines)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunLanConnectivityRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::LanConnectivityCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun); |
| return; |
| } |
| network_diagnostics_routines_->LanConnectivity(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunSignalStrengthRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::SignalStrengthCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run(network_diagnostics_ipc::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->SignalStrength(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunGatewayCanBePingedRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines:: |
| GatewayCanBePingedCallback callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->GatewayCanBePinged(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunHasSecureWiFiConnectionRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines:: |
| HasSecureWiFiConnectionCallback callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->HasSecureWiFiConnection(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunDnsResolverPresentRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines:: |
| DnsResolverPresentCallback callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->DnsResolverPresent(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunDnsLatencyRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::DnsLatencyCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->DnsLatency(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunDnsResolutionRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::DnsResolutionCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->DnsResolution(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunCaptivePortalRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::CaptivePortalCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->CaptivePortal(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunHttpFirewallRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::HttpFirewallCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->HttpFirewall(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunHttpsFirewallRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::HttpsFirewallCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->HttpsFirewall(std::move(callback)); |
| } |
| |
| void NetworkDiagnosticsAdapterImpl::RunHttpsLatencyRoutine( |
| network_diagnostics_ipc::NetworkDiagnosticsRoutines::HttpsLatencyCallback |
| callback) { |
| if (!network_diagnostics_routines_.is_bound()) { |
| std::move(callback).Run( |
| chromeos::network_diagnostics::mojom::RoutineVerdict::kNotRun, |
| /*problems=*/{}); |
| return; |
| } |
| network_diagnostics_routines_->HttpsLatency(std::move(callback)); |
| } |
| |
| } // namespace diagnostics |