1 // Copyright (c) 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_stub.h" 6 7 #include "chromeos/network/network_state.h" 8 9 namespace chromeos { 10 11 NetworkPortalDetectorStub::NetworkPortalDetectorStub() {} 12 13 NetworkPortalDetectorStub::~NetworkPortalDetectorStub() { 14 } 15 16 void NetworkPortalDetectorStub::Init() { 17 } 18 19 void NetworkPortalDetectorStub::Shutdown() { 20 } 21 22 void NetworkPortalDetectorStub::AddObserver(Observer* observer) { 23 if (observer && !observers_.HasObserver(observer)) 24 observers_.AddObserver(observer); 25 } 26 27 void NetworkPortalDetectorStub::AddAndFireObserver(Observer* observer) { 28 AddObserver(observer); 29 if (!observer) 30 return; 31 if (!default_network_ || 32 !portal_state_map_.count(default_network_->path())) { 33 observer->OnPortalDetectionCompleted(default_network_.get(), 34 CaptivePortalState()); 35 } else { 36 observer->OnPortalDetectionCompleted( 37 default_network_.get(), 38 portal_state_map_[default_network_->path()]); 39 } 40 } 41 42 void NetworkPortalDetectorStub::RemoveObserver(Observer* observer) { 43 if (observer) 44 observers_.RemoveObserver(observer); 45 } 46 47 NetworkPortalDetector::CaptivePortalState 48 NetworkPortalDetectorStub::GetCaptivePortalState( 49 const chromeos::NetworkState* network) { 50 if (!network || !portal_state_map_.count(network->path())) 51 return CaptivePortalState(); 52 return portal_state_map_[network->path()]; 53 } 54 55 bool NetworkPortalDetectorStub::IsEnabled() { 56 return true; 57 } 58 59 void NetworkPortalDetectorStub::Enable(bool start_detection) { 60 } 61 62 bool NetworkPortalDetectorStub::StartDetectionIfIdle() { 63 return false; 64 } 65 66 void NetworkPortalDetectorStub::EnableLazyDetection() { 67 } 68 69 void NetworkPortalDetectorStub::DisableLazyDetection() { 70 } 71 72 void NetworkPortalDetectorStub::SetDefaultNetworkPathForTesting( 73 const std::string& service_path) { 74 if (service_path.empty()) 75 default_network_.reset(); 76 else 77 default_network_.reset(new NetworkState(service_path)); 78 } 79 80 void NetworkPortalDetectorStub::SetDetectionResultsForTesting( 81 const std::string& service_path, 82 const CaptivePortalState& state) { 83 if (service_path.empty()) 84 return; 85 portal_state_map_[service_path] = state; 86 } 87 88 void NetworkPortalDetectorStub::NotifyObserversForTesting() { 89 CaptivePortalState state; 90 if (default_network_ && 91 portal_state_map_.count(default_network_->path())) { 92 state = portal_state_map_[default_network_->path()]; 93 } 94 FOR_EACH_OBSERVER(Observer, observers_, 95 OnPortalDetectionCompleted(default_network_.get(), state)); 96 } 97 98 } // namespace chromeos 99