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