Index: chromeos/network/network_connection_handler.h |
diff --git a/chromeos/network/network_connection_handler.h b/chromeos/network/network_connection_handler.h |
index 73ecd669a4b80ba88a926c0eff053b19ee8eb19d..bdcf89dda72a09c78406013c958f394621f1f740 100644 |
--- a/chromeos/network/network_connection_handler.h |
+++ b/chromeos/network/network_connection_handler.h |
@@ -5,12 +5,14 @@ |
#ifndef CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_ |
#define CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_ |
+#include <map> |
#include <set> |
#include <string> |
#include "base/basictypes.h" |
#include "base/callback.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/observer_list.h" |
#include "base/time/time.h" |
#include "base/values.h" |
#include "chromeos/cert_loader.h" |
@@ -19,7 +21,6 @@ |
#include "chromeos/login/login_state.h" |
#include "chromeos/network/network_handler.h" |
#include "chromeos/network/network_handler_callbacks.h" |
-#include "chromeos/network/network_policy_observer.h" |
#include "chromeos/network/network_state_handler_observer.h" |
namespace chromeos { |
@@ -46,9 +47,21 @@ class CHROMEOS_EXPORT NetworkConnectionHandler |
: public LoginState::Observer, |
public CertLoader::Observer, |
public NetworkStateHandlerObserver, |
- public NetworkPolicyObserver, |
public base::SupportsWeakPtr<NetworkConnectionHandler> { |
public: |
+ class Observer { |
+ public: |
+ // Called if a connection to network |service_path| was requested, by |
+ // calling ConnectToNetwork. |
+ virtual void ConnectToNetworkRequested(const std::string& service_path) = 0; |
+ |
+ protected: |
+ virtual ~Observer() {} |
+ |
+ private: |
+ DISALLOW_ASSIGN(Observer); |
+ }; |
+ |
// Constants for |error_name| from |error_callback| for Connect. |
// No network matching |service_path| is found (hidden networks must be |
@@ -93,6 +106,9 @@ class CHROMEOS_EXPORT NetworkConnectionHandler |
virtual ~NetworkConnectionHandler(); |
+ void AddObserver(Observer* observer); |
+ void RemoveObserver(Observer* observer); |
+ |
// ConnectToNetwork() will start an asynchronous connection attempt. |
// On success, |success_callback| will be called. |
// On failure, |error_callback| will be called with |error_name| one of the |
@@ -137,9 +153,6 @@ class CHROMEOS_EXPORT NetworkConnectionHandler |
virtual void OnCertificatesLoaded(const net::CertificateList& cert_list, |
bool initial_load) override; |
- // NetworkPolicyObserver |
- virtual void PolicyChanged(const std::string& userhash) override; |
- |
private: |
friend class NetworkHandler; |
friend class NetworkConnectionHandlerTest; |
@@ -206,26 +219,7 @@ class CHROMEOS_EXPORT NetworkConnectionHandler |
void HandleShillDisconnectSuccess(const std::string& service_path, |
const base::Closure& success_callback); |
- // If the policy to prevent unmanaged & shared networks to autoconnect is |
- // enabled, then disconnect all such networks except wired networks. Does |
- // nothing on consecutive calls. |
- // This is enforced once after a user logs in 1) to allow mananged networks to |
- // autoconnect and 2) to prevent a previous user from foisting a network on |
- // the new user. Therefore, this function is called on startup, at login and |
- // when the device policy is changed. |
- void DisconnectIfPolicyRequires(); |
- |
- // Disconnects from all unmanaged and shared WiFi networks that are currently |
- // connected or connecting. |
- void DisconnectFromUnmanagedSharedWiFiNetworks(); |
- |
- // Requests a connect to the 'best' available network once after login and |
- // after any disconnect required by policy is executed (see |
- // DisconnectIfPolicyRequires()). To include networks with client |
- // certificates, no request is sent until certificates are loaded. Therefore, |
- // this function is called on the initial certificate load and by |
- // DisconnectIfPolicyRequires(). |
- void ConnectToBestNetworkAfterLogin(); |
+ ObserverList<Observer> observers_; |
// Local references to the associated handler instances. |
CertLoader* cert_loader_; |
@@ -243,14 +237,6 @@ class CHROMEOS_EXPORT NetworkConnectionHandler |
bool certificates_loaded_; |
base::TimeTicks logged_in_time_; |
- // Whether the autoconnect policy was applied already, see |
- // DisconnectIfPolicyRequires(). |
- bool applied_autoconnect_policy_; |
- |
- // Whether the handler already requested a 'ConnectToBestNetwork' after login, |
- // see ConnectToBestNetworkAfterLogin(). |
- bool requested_connect_to_best_network_; |
- |
DISALLOW_COPY_AND_ASSIGN(NetworkConnectionHandler); |
}; |