Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Unified Diff: chrome/browser/chromeos/policy/network_configuration_updater.h

Issue 12676017: Adding policy support to the new network configuration stack. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed clang errors. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/network_configuration_updater.h
diff --git a/chrome/browser/chromeos/policy/network_configuration_updater.h b/chrome/browser/chromeos/policy/network_configuration_updater.h
index 5872e8c038c960d15cf51b3c87e1a7cbac38ecc0..70634255bafe406d005ae718c46f1c476d79dd48 100644
--- a/chrome/browser/chromeos/policy/network_configuration_updater.h
+++ b/chrome/browser/chromeos/policy/network_configuration_updater.h
@@ -5,17 +5,7 @@
#ifndef CHROME_BROWSER_CHROMEOS_POLICY_NETWORK_CONFIGURATION_UPDATER_H_
#define CHROME_BROWSER_CHROMEOS_POLICY_NETWORK_CONFIGURATION_UPDATER_H_
-#include <string>
-
-#include "chrome/browser/chromeos/cros/network_constants.h"
-#include "chrome/browser/chromeos/cros/network_library.h"
-#include "chrome/browser/policy/policy_service.h"
-#include "chromeos/network/network_ui_data.h"
-#include "chromeos/network/onc/onc_constants.h"
-
-namespace base {
-class Value;
-}
+#include "base/basictypes.h"
namespace net {
class CertTrustAnchorProvider;
@@ -23,37 +13,26 @@ class CertTrustAnchorProvider;
namespace policy {
-class PolicyMap;
-
-// Keeps track of the network configuration policy settings and Shill's
-// profiles. Requests the NetworkLibrary to apply the ONC of the network
-// policies every time one of the relevant policies or Shill's profiles changes
-// or OnUserPolicyInitialized() is called. If the user policy is available,
-// always both the device and the user policy are applied. Otherwise only the
-// device policy is applied.
-class NetworkConfigurationUpdater
- : public chromeos::NetworkLibrary::NetworkProfileObserver {
+// Keeps track of the network configuration policy settings and pushes changes
+// to the respective configuration backend, which in turn writes configurations
+// to Shill.
+class NetworkConfigurationUpdater {
public:
- NetworkConfigurationUpdater(PolicyService* policy_service,
- chromeos::NetworkLibrary* network_library);
- virtual ~NetworkConfigurationUpdater();
-
- // NetworkProfileObserver overrides.
- virtual void OnProfileListChanged() OVERRIDE;
+ NetworkConfigurationUpdater() {}
+ virtual ~NetworkConfigurationUpdater() {}
// Notifies this updater that the user policy is initialized. Before this
- // function is called, the user policy is not applied. Afterwards, always both
- // device and user policy are applied as described in the class comment. This
- // function also triggers an immediate policy application of both device and
- // user policy.
- void OnUserPolicyInitialized();
+ // function is called, the user policy is not applied. This function may
+ // trigger immediate policy applications.
+ virtual void OnUserPolicyInitialized() = 0;
+
+ // TODO(pneubeck): Extract the following two certificate related functions
+ // into a separate CertificateUpdater.
// Web trust isn't given to certificates imported from ONC by default. Setting
// |allow| to true allows giving Web trust to the certificates that
// request it.
- void set_allow_trusted_certificates_from_policy(bool allow) {
- allow_trusted_certificates_from_policy_ = allow;
- }
+ virtual void set_allow_trusted_certificates_from_policy(bool allow) = 0;
// Returns a CertTrustAnchorProvider that provides the list of server and
// CA certificates with the Web trust flag set that were retrieved from the
@@ -62,44 +41,9 @@ class NetworkConfigurationUpdater
// on the IO thread. It is only valid as long as the
// NetworkConfigurationUpdater is valid; the NetworkConfigurationUpdater
// outlives all the profiles, and deletes the provider on the IO thread.
- net::CertTrustAnchorProvider* GetCertTrustAnchorProvider();
+ virtual net::CertTrustAnchorProvider* GetCertTrustAnchorProvider() = 0;
private:
- // Callback that's called by |policy_service_| if the respective ONC policy
- // changed.
- void OnPolicyChanged(chromeos::onc::ONCSource onc_source,
- const base::Value* previous,
- const base::Value* current);
-
- // Retrieves the ONC policies from |policy_service_| and pushes the
- // configurations to |network_library_|. Ensures that a device policy is
- // always overwritten by a user policy.
- void ApplyNetworkConfigurations();
-
- // Push the policy stored at |policy_key| for |onc_source| to
- // |network_library_|.
- void ApplyNetworkConfiguration(const std::string& policy_key,
- chromeos::onc::ONCSource onc_source);
-
- // Wraps the policy service we read network configuration from.
- PolicyChangeRegistrar policy_change_registrar_;
-
- // Network library to write network configuration to.
- chromeos::NetworkLibrary* network_library_;
-
- // Whether the user policy is already available.
- bool user_policy_initialized_;
-
- // Whether Web trust is allowed or not.
- bool allow_trusted_certificates_from_policy_;
-
- // The policy service storing the ONC policies.
- PolicyService* policy_service_;
-
- // An implementation of CertTrustAnchorProvider. Owned by the updater, but
- // lives on the IO thread.
- net::CertTrustAnchorProvider* cert_trust_provider_;
-
DISALLOW_COPY_AND_ASSIGN(NetworkConfigurationUpdater);
};
« no previous file with comments | « chrome/browser/chromeos/login/login_utils.cc ('k') | chrome/browser/chromeos/policy/network_configuration_updater.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698