network_portal_detector_test_impl.cc revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
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 const std::string& guid) { 21 DVLOG(1) << "SetDefaultNetworkPathForTesting:" 22 << " service path: " << service_path 23 << " guid: " << guid; 24 if (service_path.empty()) { 25 default_network_.reset(); 26 } else { 27 default_network_.reset(new NetworkState(service_path)); 28 default_network_->SetGuid(guid); 29 } 30} 31 32void NetworkPortalDetectorTestImpl::SetDetectionResultsForTesting( 33 const std::string& service_path, 34 const CaptivePortalState& state) { 35 DVLOG(1) << "SetDetectionResultsForTesting: " << service_path << " = " 36 << NetworkPortalDetector::CaptivePortalStatusString(state.status); 37 if (!service_path.empty()) 38 portal_state_map_[service_path] = state; 39} 40 41void NetworkPortalDetectorTestImpl::NotifyObserversForTesting() { 42 CaptivePortalState state; 43 if (default_network_ && 44 portal_state_map_.count(default_network_->path())) { 45 state = portal_state_map_[default_network_->path()]; 46 } 47 FOR_EACH_OBSERVER(Observer, observers_, 48 OnPortalDetectionCompleted(default_network_.get(), state)); 49} 50 51void NetworkPortalDetectorTestImpl::AddObserver(Observer* observer) { 52 if (observer && !observers_.HasObserver(observer)) 53 observers_.AddObserver(observer); 54} 55 56void NetworkPortalDetectorTestImpl::AddAndFireObserver(Observer* observer) { 57 AddObserver(observer); 58 if (!observer) 59 return; 60 if (!default_network_ || 61 !portal_state_map_.count(default_network_->path())) { 62 observer->OnPortalDetectionCompleted(default_network_.get(), 63 CaptivePortalState()); 64 } else { 65 observer->OnPortalDetectionCompleted( 66 default_network_.get(), 67 portal_state_map_[default_network_->path()]); 68 } 69} 70 71void NetworkPortalDetectorTestImpl::RemoveObserver(Observer* observer) { 72 if (observer) 73 observers_.RemoveObserver(observer); 74} 75 76NetworkPortalDetector::CaptivePortalState 77NetworkPortalDetectorTestImpl::GetCaptivePortalState( 78 const std::string& service_path) { 79 CaptivePortalStateMap::iterator it = portal_state_map_.find(service_path); 80 if (it == portal_state_map_.end()) { 81 DVLOG(2) << "GetCaptivePortalState Not found: " << service_path; 82 return CaptivePortalState(); 83 } 84 DVLOG(2) << "GetCaptivePortalState: " << service_path << " = " 85 << CaptivePortalStatusString(it->second.status); 86 return it->second; 87} 88 89bool NetworkPortalDetectorTestImpl::IsEnabled() { 90 return true; 91} 92 93void NetworkPortalDetectorTestImpl::Enable(bool start_detection) { 94} 95 96bool NetworkPortalDetectorTestImpl::StartDetectionIfIdle() { 97 return false; 98} 99 100void NetworkPortalDetectorTestImpl::SetStrategy( 101 PortalDetectorStrategy::StrategyId id) { 102 strategy_id_ = id; 103} 104 105} // namespace chromeos 106