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

Unified Diff: chrome/browser/chromeos/policy/active_directory_policy_manager.cc

Issue 2638623006: Merge {Device,User}ActiveDirectoryPolicyManager into a single class (Closed)
Patch Set: Have factories return unique_ptr Created 3 years, 11 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/active_directory_policy_manager.cc
diff --git a/chrome/browser/chromeos/policy/user_active_directory_policy_manager.cc b/chrome/browser/chromeos/policy/active_directory_policy_manager.cc
similarity index 62%
rename from chrome/browser/chromeos/policy/user_active_directory_policy_manager.cc
rename to chrome/browser/chromeos/policy/active_directory_policy_manager.cc
index 273caa1118e7f1ffd4254981af5024c2df39adb0..a1b91b9c0196d891089a8110af5c39015e786af3 100644
--- a/chrome/browser/chromeos/policy/user_active_directory_policy_manager.cc
+++ b/chrome/browser/chromeos/policy/active_directory_policy_manager.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/chromeos/policy/user_active_directory_policy_manager.h"
+#include "chrome/browser/chromeos/policy/active_directory_policy_manager.h"
#include <string>
#include <utility>
@@ -16,16 +16,26 @@
namespace policy {
-UserActiveDirectoryPolicyManager::UserActiveDirectoryPolicyManager(
- const AccountId& account_id,
- std::unique_ptr<CloudPolicyStore> store)
- : account_id_(account_id),
- store_(std::move(store)),
- weak_ptr_factory_(this) {}
+ActiveDirectoryPolicyManager::~ActiveDirectoryPolicyManager() {}
+
+// static
+std::unique_ptr<ActiveDirectoryPolicyManager>
+ActiveDirectoryPolicyManager::CreateForDevicePolicy(
+ std::unique_ptr<CloudPolicyStore> store) {
+ return base::WrapUnique(
emaxx 2017/01/18 19:09:59 nit: base::MakeUnique?
Thiemo Nagel 2017/01/18 19:18:37 MakeUnique won't work because the constructor is p
+ new ActiveDirectoryPolicyManager(EmptyAccountId(), std::move(store)));
+}
-UserActiveDirectoryPolicyManager::~UserActiveDirectoryPolicyManager() {}
+// static
+std::unique_ptr<ActiveDirectoryPolicyManager>
+ActiveDirectoryPolicyManager::CreateForUserPolicy(
+ const AccountId& account_id,
+ std::unique_ptr<CloudPolicyStore> store) {
+ return base::WrapUnique(
+ new ActiveDirectoryPolicyManager(account_id, std::move(store)));
+}
-void UserActiveDirectoryPolicyManager::Init(SchemaRegistry* registry) {
+void ActiveDirectoryPolicyManager::Init(SchemaRegistry* registry) {
ConfigurationPolicyProvider::Init(registry);
store_->AddObserver(this);
@@ -39,38 +49,44 @@ void UserActiveDirectoryPolicyManager::Init(SchemaRegistry* registry) {
RefreshPolicies();
}
-void UserActiveDirectoryPolicyManager::Shutdown() {
+void ActiveDirectoryPolicyManager::Shutdown() {
store_->RemoveObserver(this);
ConfigurationPolicyProvider::Shutdown();
}
-bool UserActiveDirectoryPolicyManager::IsInitializationComplete(
+bool ActiveDirectoryPolicyManager::IsInitializationComplete(
PolicyDomain domain) const {
if (domain == POLICY_DOMAIN_CHROME)
return store_->is_initialized();
return true;
}
-void UserActiveDirectoryPolicyManager::RefreshPolicies() {
+void ActiveDirectoryPolicyManager::RefreshPolicies() {
chromeos::DBusThreadManager* thread_manager =
chromeos::DBusThreadManager::Get();
DCHECK(thread_manager);
chromeos::AuthPolicyClient* auth_policy_client =
thread_manager->GetAuthPolicyClient();
DCHECK(auth_policy_client);
- auth_policy_client->RefreshUserPolicy(
- account_id_,
- base::Bind(&UserActiveDirectoryPolicyManager::OnPolicyRefreshed,
- weak_ptr_factory_.GetWeakPtr()));
+ if (account_id_ == EmptyAccountId()) {
+ auth_policy_client->RefreshDevicePolicy(
+ base::Bind(&ActiveDirectoryPolicyManager::OnPolicyRefreshed,
+ weak_ptr_factory_.GetWeakPtr()));
+ } else {
+ auth_policy_client->RefreshUserPolicy(
+ account_id_,
+ base::Bind(&ActiveDirectoryPolicyManager::OnPolicyRefreshed,
+ weak_ptr_factory_.GetWeakPtr()));
+ }
}
-void UserActiveDirectoryPolicyManager::OnStoreLoaded(
+void ActiveDirectoryPolicyManager::OnStoreLoaded(
CloudPolicyStore* cloud_policy_store) {
DCHECK_EQ(store_.get(), cloud_policy_store);
PublishPolicy();
}
-void UserActiveDirectoryPolicyManager::OnStoreError(
+void ActiveDirectoryPolicyManager::OnStoreError(
CloudPolicyStore* cloud_policy_store) {
DCHECK_EQ(store_.get(), cloud_policy_store);
// Publish policy (even though it hasn't changed) in order to signal load
@@ -79,7 +95,14 @@ void UserActiveDirectoryPolicyManager::OnStoreError(
PublishPolicy();
}
-void UserActiveDirectoryPolicyManager::PublishPolicy() {
+ActiveDirectoryPolicyManager::ActiveDirectoryPolicyManager(
+ const AccountId& account_id,
+ std::unique_ptr<CloudPolicyStore> store)
+ : account_id_(account_id),
+ store_(std::move(store)),
+ weak_ptr_factory_(this) {}
+
+void ActiveDirectoryPolicyManager::PublishPolicy() {
if (!store_->is_initialized()) {
return;
}
@@ -95,7 +118,7 @@ void UserActiveDirectoryPolicyManager::PublishPolicy() {
UpdatePolicy(std::move(bundle));
}
-void UserActiveDirectoryPolicyManager::OnPolicyRefreshed(bool success) {
+void ActiveDirectoryPolicyManager::OnPolicyRefreshed(bool success) {
if (!success) {
LOG(ERROR) << "Active Directory policy refresh failed.";
}

Powered by Google App Engine
This is Rietveld 408576698