blob: 035c090c7d7fbcf2471d840b941ba921661cd6b7 [file] [log] [blame]
// 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