OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_CHROMEOS_NET_NETWORK_PORTAL_DETECTOR_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_NET_NETWORK_PORTAL_DETECTOR_H_ |
6 #define CHROME_BROWSER_CHROMEOS_NET_NETWORK_PORTAL_DETECTOR_H_ | 6 #define CHROME_BROWSER_CHROMEOS_NET_NETWORK_PORTAL_DETECTOR_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 9 #include "chrome/browser/chromeos/net/network_portal_detector_strategy.h" |
10 #include "net/url_request/url_fetcher.h" | 10 #include "net/url_request/url_fetcher.h" |
11 | 11 |
12 namespace chromeos { | 12 namespace chromeos { |
13 | 13 |
14 class NetworkState; | 14 class NetworkState; |
15 | 15 |
16 // This class handles all notifications about network changes from | 16 // This class handles all notifications about network changes from |
17 // NetworkStateHandler and delegates portal detection for the active | 17 // NetworkStateHandler and delegates portal detection for the active |
18 // network to CaptivePortalService. | 18 // network to CaptivePortalService. |
19 class NetworkPortalDetector : public ErrorScreen::Observer { | 19 class NetworkPortalDetector { |
20 public: | 20 public: |
21 enum CaptivePortalStatus { | 21 enum CaptivePortalStatus { |
22 CAPTIVE_PORTAL_STATUS_UNKNOWN = 0, | 22 CAPTIVE_PORTAL_STATUS_UNKNOWN = 0, |
23 CAPTIVE_PORTAL_STATUS_OFFLINE = 1, | 23 CAPTIVE_PORTAL_STATUS_OFFLINE = 1, |
24 CAPTIVE_PORTAL_STATUS_ONLINE = 2, | 24 CAPTIVE_PORTAL_STATUS_ONLINE = 2, |
25 CAPTIVE_PORTAL_STATUS_PORTAL = 3, | 25 CAPTIVE_PORTAL_STATUS_PORTAL = 3, |
26 CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED = 4, | 26 CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED = 4, |
27 CAPTIVE_PORTAL_STATUS_COUNT | 27 CAPTIVE_PORTAL_STATUS_COUNT |
28 }; | 28 }; |
29 | 29 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 // If |start_detection| is true and NetworkPortalDetector was | 89 // If |start_detection| is true and NetworkPortalDetector was |
90 // disabled previously, portal detection for the active network is | 90 // disabled previously, portal detection for the active network is |
91 // initiated by this method. | 91 // initiated by this method. |
92 virtual void Enable(bool start_detection) = 0; | 92 virtual void Enable(bool start_detection) = 0; |
93 | 93 |
94 // Restarts portal detection for the default network if currently in | 94 // Restarts portal detection for the default network if currently in |
95 // the idle state. Returns true if new portal detection attempt was | 95 // the idle state. Returns true if new portal detection attempt was |
96 // started. | 96 // started. |
97 virtual bool StartDetectionIfIdle() = 0; | 97 virtual bool StartDetectionIfIdle() = 0; |
98 | 98 |
99 virtual void OnErrorScreenShow() OVERRIDE {} | 99 // Sets current strategy according to |id|. If current detection id |
100 virtual void OnErrorScreenHide() OVERRIDE {} | 100 // doesn't equal to |id|, detection is restarted. |
| 101 virtual void SetStrategy(PortalDetectorStrategy::StrategyId id) = 0; |
101 | 102 |
102 // Initializes network portal detector for testing. The | 103 // Initializes network portal detector for testing. The |
103 // |network_portal_detector| will be owned by the internal pointer | 104 // |network_portal_detector| will be owned by the internal pointer |
104 // and deleted by Shutdown(). | 105 // and deleted by Shutdown(). |
105 static void InitializeForTesting( | 106 static void InitializeForTesting( |
106 NetworkPortalDetector* network_portal_detector); | 107 NetworkPortalDetector* network_portal_detector); |
107 | 108 |
108 // Creates an instance of the NetworkPortalDetector. | 109 // Creates an instance of the NetworkPortalDetector. |
109 static void Initialize(); | 110 static void Initialize(); |
110 | 111 |
(...skipping 16 matching lines...) Expand all Loading... |
127 NetworkPortalDetector() {} | 128 NetworkPortalDetector() {} |
128 virtual ~NetworkPortalDetector() {} | 129 virtual ~NetworkPortalDetector() {} |
129 | 130 |
130 private: | 131 private: |
131 DISALLOW_COPY_AND_ASSIGN(NetworkPortalDetector); | 132 DISALLOW_COPY_AND_ASSIGN(NetworkPortalDetector); |
132 }; | 133 }; |
133 | 134 |
134 } // namespace chromeos | 135 } // namespace chromeos |
135 | 136 |
136 #endif // CHROME_BROWSER_CHROMEOS_NET_NETWORK_PORTAL_DETECTOR_H_ | 137 #endif // CHROME_BROWSER_CHROMEOS_NET_NETWORK_PORTAL_DETECTOR_H_ |
OLD | NEW |