Index: chromeos/network/portal_detector/network_portal_detector.h |
diff --git a/chromeos/network/portal_detector/network_portal_detector.h b/chromeos/network/portal_detector/network_portal_detector.h |
index 38843fe8c22bf1a6ebad28de199350757eb4d278..e72e7afc635056c75b1b3c95240580271e79c2ad 100644 |
--- a/chromeos/network/portal_detector/network_portal_detector.h |
+++ b/chromeos/network/portal_detector/network_portal_detector.h |
@@ -5,10 +5,7 @@ |
#ifndef CHROMEOS_NETWORK_PORTAL_DETECTOR_NETWORK_PORTAL_DETECTOR_H_ |
#define CHROMEOS_NETWORK_PORTAL_DETECTOR_NETWORK_PORTAL_DETECTOR_H_ |
-#include "base/basictypes.h" |
-#include "chromeos/chromeos_export.h" |
-#include "chromeos/network/portal_detector/network_portal_detector_strategy.h" |
-#include "net/url_request/url_fetcher.h" |
+#include "chromeos/network/portal_detector/network_portal_detector_interface.h" |
namespace chromeos { |
@@ -17,101 +14,14 @@ class NetworkState; |
// This class handles all notifications about network changes from |
// NetworkStateHandler and delegates portal detection for the active |
// network to CaptivePortalService. |
-class CHROMEOS_EXPORT NetworkPortalDetector { |
+class CHROMEOS_EXPORT NetworkPortalDetector |
+ : public NetworkPortalDetectorInterface { |
public: |
- enum CaptivePortalStatus { |
- CAPTIVE_PORTAL_STATUS_UNKNOWN = 0, |
- CAPTIVE_PORTAL_STATUS_OFFLINE = 1, |
- CAPTIVE_PORTAL_STATUS_ONLINE = 2, |
- CAPTIVE_PORTAL_STATUS_PORTAL = 3, |
- CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED = 4, |
- CAPTIVE_PORTAL_STATUS_COUNT |
- }; |
- |
- struct CaptivePortalState { |
- CaptivePortalState() |
- : status(CAPTIVE_PORTAL_STATUS_UNKNOWN), |
- response_code(net::URLFetcher::RESPONSE_CODE_INVALID) { |
- } |
- |
- bool operator==(const CaptivePortalState& o) const { |
- return status == o.status && response_code == o.response_code; |
- } |
- |
- CaptivePortalStatus status; |
- int response_code; |
- base::TimeTicks time; |
- }; |
- |
- class Observer { |
- public: |
- // Called when portal detection is completed for |network|, or |
- // when observers add themselves via AddAndFireObserver(). In the |
- // second case, |network| is the active network and |state| is a |
- // current portal state for the active network, which can be |
- // currently in the unknown state, for instance, if portal |
- // detection is in process for the active network. Note, that |
- // |network| may be NULL. |
- virtual void OnPortalDetectionCompleted( |
- const NetworkState* network, |
- const CaptivePortalState& state) = 0; |
- |
- protected: |
- virtual ~Observer() {} |
- }; |
- |
- // Adds |observer| to the observers list. |
- virtual void AddObserver(Observer* observer) = 0; |
- |
- // Adds |observer| to the observers list and immediately calls |
- // OnPortalDetectionCompleted() with the active network (which may |
- // be NULL) and captive portal state for the active network (which |
- // may be unknown, if, for instance, portal detection is in process |
- // for the active network). |
- // |
- // WARNING: don't call this method from the Observer's ctors or |
- // dtors, as it implicitly calls OnPortalDetectionCompleted(), which |
- // is virtual. |
- // TODO (ygorshenin@): find a way to avoid this restriction. |
- virtual void AddAndFireObserver(Observer* observer) = 0; |
- |
- // Removes |observer| from the observers list. |
- virtual void RemoveObserver(Observer* observer) = 0; |
- |
- // Returns Captive Portal state for the network specified by |service_path|. |
- virtual CaptivePortalState GetCaptivePortalState( |
- const std::string& service_path) = 0; |
- |
- // Returns true if portal detection is enabled. |
- virtual bool IsEnabled() = 0; |
- |
- // Enable portal detection. This method is needed because we can't |
- // check current network for portal state unless user accepts EULA. |
- // If |start_detection| is true and NetworkPortalDetector was |
- // disabled previously, portal detection for the active network is |
- // initiated by this method. |
- virtual void Enable(bool start_detection) = 0; |
- |
- // Restarts portal detection for the default network if currently in |
- // the idle state. Returns true if new portal detection attempt was |
- // started. |
- virtual bool StartDetectionIfIdle() = 0; |
- |
- // Sets current strategy according to |id|. If current detection id |
- // doesn't equal to |id|, detection is restarted. |
- virtual void SetStrategy(PortalDetectorStrategy::StrategyId id) = 0; |
- |
- // Closes portal login window before screen is locked. |
- virtual void OnLockScreenRequest() = 0; |
- |
- // Returns non-localized string representation of |status|. |
- static std::string CaptivePortalStatusString(CaptivePortalStatus status); |
- |
// Initializes network portal detector for testing. The |
// |network_portal_detector| will be owned by the internal pointer |
// and deleted by Shutdown(). |
static void InitializeForTesting( |
- NetworkPortalDetector* network_portal_detector); |
+ NetworkPortalDetectorInterface* network_portal_detector); |
// Returns |true| if NetworkPortalDetector was Initialized and it is safe to |
// call Get. |
@@ -123,24 +33,24 @@ class CHROMEOS_EXPORT NetworkPortalDetector { |
// Gets the instance of the NetworkPortalDetector. Return value should |
// be used carefully in tests, because it can be changed "on the fly" |
// by calls to InitializeForTesting(). |
- static NetworkPortalDetector* Get(); |
- |
- protected: |
- NetworkPortalDetector() {} |
- virtual ~NetworkPortalDetector() {} |
+ static NetworkPortalDetectorInterface* Get(); |
static bool set_for_testing() { return set_for_testing_; } |
- static NetworkPortalDetector* network_portal_detector() { |
+ static NetworkPortalDetectorInterface* network_portal_detector() { |
return network_portal_detector_; |
} |
static void set_network_portal_detector( |
- NetworkPortalDetector* network_portal_detector) { |
+ NetworkPortalDetectorInterface* network_portal_detector) { |
network_portal_detector_ = network_portal_detector; |
} |
+ protected: |
+ NetworkPortalDetector() {} |
+ ~NetworkPortalDetector() override {} |
+ |
private: |
static bool set_for_testing_; |
- static NetworkPortalDetector* network_portal_detector_; |
+ static NetworkPortalDetectorInterface* network_portal_detector_; |
DISALLOW_COPY_AND_ASSIGN(NetworkPortalDetector); |
}; |