blob: 473f0d70b175c20e54ec93ad6d9f5f6de8615b37 [file] [log] [blame]
// Copyright 2013 The Chromium 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 "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
#include "chromeos/network/network_state.h"
namespace chromeos {
NetworkPortalDetectorTestImpl::NetworkPortalDetectorTestImpl() {}
NetworkPortalDetectorTestImpl::~NetworkPortalDetectorTestImpl() {
}
void NetworkPortalDetectorTestImpl::SetDefaultNetworkPathForTesting(
const std::string& service_path) {
if (service_path.empty())
default_network_.reset();
else
default_network_.reset(new NetworkState(service_path));
}
void NetworkPortalDetectorTestImpl::SetDetectionResultsForTesting(
const std::string& service_path,
const CaptivePortalState& state) {
if (!service_path.empty())
portal_state_map_[service_path] = state;
}
void NetworkPortalDetectorTestImpl::NotifyObserversForTesting() {
CaptivePortalState state;
if (default_network_ &&
portal_state_map_.count(default_network_->path())) {
state = portal_state_map_[default_network_->path()];
}
FOR_EACH_OBSERVER(Observer, observers_,
OnPortalDetectionCompleted(default_network_.get(), state));
}
void NetworkPortalDetectorTestImpl::AddObserver(Observer* observer) {
if (observer && !observers_.HasObserver(observer))
observers_.AddObserver(observer);
}
void NetworkPortalDetectorTestImpl::AddAndFireObserver(Observer* observer) {
AddObserver(observer);
if (!observer)
return;
if (!default_network_ ||
!portal_state_map_.count(default_network_->path())) {
observer->OnPortalDetectionCompleted(default_network_.get(),
CaptivePortalState());
} else {
observer->OnPortalDetectionCompleted(
default_network_.get(),
portal_state_map_[default_network_->path()]);
}
}
void NetworkPortalDetectorTestImpl::RemoveObserver(Observer* observer) {
if (observer)
observers_.RemoveObserver(observer);
}
NetworkPortalDetector::CaptivePortalState
NetworkPortalDetectorTestImpl::GetCaptivePortalState(
const chromeos::NetworkState* network) {
if (!network || !portal_state_map_.count(network->path()))
return CaptivePortalState();
return portal_state_map_[network->path()];
}
bool NetworkPortalDetectorTestImpl::IsEnabled() {
return true;
}
void NetworkPortalDetectorTestImpl::Enable(bool start_detection) {
}
bool NetworkPortalDetectorTestImpl::StartDetectionIfIdle() {
return false;
}
void NetworkPortalDetectorTestImpl::EnableLazyDetection() {
}
void NetworkPortalDetectorTestImpl::DisableLazyDetection() {
}
} // namespace chromeos