network_portal_detector_test_impl.cc revision 46d4c2bc3267f3f028f39e7e311b0f89aba2e4fd
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h" 6 7#include "chromeos/network/network_state.h" 8 9namespace chromeos { 10 11NetworkPortalDetectorTestImpl::NetworkPortalDetectorTestImpl() 12 : strategy_id_(PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN) { 13} 14 15NetworkPortalDetectorTestImpl::~NetworkPortalDetectorTestImpl() { 16} 17 18void NetworkPortalDetectorTestImpl::SetDefaultNetworkPathForTesting( 19 const std::string& service_path) { 20 DVLOG(1) << "SetDefaultNetworkPathForTesting: " << service_path; 21 if (service_path.empty()) 22 default_network_.reset(); 23 else 24 default_network_.reset(new NetworkState(service_path)); 25} 26 27void NetworkPortalDetectorTestImpl::SetDetectionResultsForTesting( 28 const std::string& service_path, 29 const CaptivePortalState& state) { 30 DVLOG(1) << "SetDetectionResultsForTesting: " << service_path << " = " 31 << NetworkPortalDetector::CaptivePortalStatusString(state.status); 32 if (!service_path.empty()) 33 portal_state_map_[service_path] = state; 34} 35 36void NetworkPortalDetectorTestImpl::NotifyObserversForTesting() { 37 CaptivePortalState state; 38 if (default_network_ && 39 portal_state_map_.count(default_network_->path())) { 40 state = portal_state_map_[default_network_->path()]; 41 } 42 FOR_EACH_OBSERVER(Observer, observers_, 43 OnPortalDetectionCompleted(default_network_.get(), state)); 44} 45 46void NetworkPortalDetectorTestImpl::AddObserver(Observer* observer) { 47 if (observer && !observers_.HasObserver(observer)) 48 observers_.AddObserver(observer); 49} 50 51void NetworkPortalDetectorTestImpl::AddAndFireObserver(Observer* observer) { 52 AddObserver(observer); 53 if (!observer) 54 return; 55 if (!default_network_ || 56 !portal_state_map_.count(default_network_->path())) { 57 observer->OnPortalDetectionCompleted(default_network_.get(), 58 CaptivePortalState()); 59 } else { 60 observer->OnPortalDetectionCompleted( 61 default_network_.get(), 62 portal_state_map_[default_network_->path()]); 63 } 64} 65 66void NetworkPortalDetectorTestImpl::RemoveObserver(Observer* observer) { 67 if (observer) 68 observers_.RemoveObserver(observer); 69} 70 71NetworkPortalDetector::CaptivePortalState 72NetworkPortalDetectorTestImpl::GetCaptivePortalState( 73 const std::string& service_path) { 74 CaptivePortalStateMap::iterator it = portal_state_map_.find(service_path); 75 if (it == portal_state_map_.end()) { 76 DVLOG(2) << "GetCaptivePortalState Not found: " << service_path; 77 return CaptivePortalState(); 78 } 79 DVLOG(2) << "GetCaptivePortalState: " << service_path << " = " 80 << CaptivePortalStatusString(it->second.status); 81 return it->second; 82} 83 84bool NetworkPortalDetectorTestImpl::IsEnabled() { 85 return true; 86} 87 88void NetworkPortalDetectorTestImpl::Enable(bool start_detection) { 89} 90 91bool NetworkPortalDetectorTestImpl::StartDetectionIfIdle() { 92 return false; 93} 94 95void NetworkPortalDetectorTestImpl::SetStrategy( 96 PortalDetectorStrategy::StrategyId id) { 97 strategy_id_ = id; 98} 99 100} // namespace chromeos 101