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

Side by Side Diff: chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc

Issue 742513006: Add ManagementMode enum and GetManagementMode(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" 5 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "base/sequenced_task_runner.h" 11 #include "base/sequenced_task_runner.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chrome/browser/browser_process.h" 13 #include "chrome/browser/browser_process.h"
14 #include "chrome/browser/chromeos/login/startup_utils.h" 14 #include "chrome/browser/chromeos/login/startup_utils.h"
15 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 15 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
16 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" 16 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
17 #include "chrome/browser/chromeos/policy/device_status_collector.h" 17 #include "chrome/browser/chromeos/policy/device_status_collector.h"
18 #include "chrome/browser/chromeos/policy/enrollment_handler_chromeos.h" 18 #include "chrome/browser/chromeos/policy/enrollment_handler_chromeos.h"
19 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h" 19 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
20 #include "chrome/browser/chromeos/policy/policy_util.h"
20 #include "chrome/browser/chromeos/policy/server_backed_device_state.h" 21 #include "chrome/browser/chromeos/policy/server_backed_device_state.h"
21 #include "chrome/browser/chromeos/settings/device_settings_service.h" 22 #include "chrome/browser/chromeos/settings/device_settings_service.h"
22 #include "chrome/common/chrome_content_client.h" 23 #include "chrome/common/chrome_content_client.h"
23 #include "chrome/common/pref_names.h" 24 #include "chrome/common/pref_names.h"
24 #include "chromeos/system/statistics_provider.h" 25 #include "chromeos/system/statistics_provider.h"
25 #include "components/policy/core/common/cloud/cloud_policy_constants.h" 26 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
26 #include "components/policy/core/common/cloud/cloud_policy_core.h" 27 #include "components/policy/core/common/cloud/cloud_policy_core.h"
27 #include "components/policy/core/common/cloud/device_management_service.h" 28 #include "components/policy/core/common/cloud/device_management_service.h"
28 #include "components/policy/core/common/cloud/system_policy_request_context.h" 29 #include "components/policy/core/common/cloud/system_policy_request_context.h"
29 #include "net/url_request/url_request_context_getter.h" 30 #include "net/url_request/url_request_context_getter.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 new CloudPolicyClient(DeviceCloudPolicyManagerChromeOS::GetMachineID(), 220 new CloudPolicyClient(DeviceCloudPolicyManagerChromeOS::GetMachineID(),
220 DeviceCloudPolicyManagerChromeOS::GetMachineModel(), 221 DeviceCloudPolicyManagerChromeOS::GetMachineModel(),
221 kPolicyVerificationKeyHash, 222 kPolicyVerificationKeyHash,
222 USER_AFFILIATION_NONE, 223 USER_AFFILIATION_NONE,
223 device_status_provider_.get(), 224 device_status_provider_.get(),
224 device_management_service, 225 device_management_service,
225 request_context)); 226 request_context));
226 } 227 }
227 228
228 void DeviceCloudPolicyInitializer::TryToCreateClient() { 229 void DeviceCloudPolicyInitializer::TryToCreateClient() {
229 if (device_store_->is_initialized() && 230 if (!device_store_->is_initialized() ||
230 device_store_->has_policy() && 231 !device_store_->has_policy() ||
231 !device_store_->policy()->request_token().empty() && 232 state_keys_broker_->pending() ||
232 !state_keys_broker_->pending() && 233 enrollment_handler_) {
233 !enrollment_handler_) { 234 return;
234 DeviceManagementService* service = NULL;
235 if (device_store_->policy()->management_mode() ==
236 em::PolicyData::CONSUMER_MANAGED) {
237 service = consumer_service_;
238 } else {
239 service = enterprise_service_;
240 }
241 if (service)
242 StartConnection(CreateClient(service));
243 } 235 }
236
237 DeviceManagementService* service = NULL;
238 if (PolicyUtil::IsConsumerManaged(*device_store_->policy()))
239 service = consumer_service_;
240 else if (PolicyUtil::IsEnterpriseManaged(*device_store_->policy()))
241 service = enterprise_service_;
242
243 if (service)
244 StartConnection(CreateClient(service));
244 } 245 }
245 246
246 void DeviceCloudPolicyInitializer::StartConnection( 247 void DeviceCloudPolicyInitializer::StartConnection(
247 scoped_ptr<CloudPolicyClient> client) { 248 scoped_ptr<CloudPolicyClient> client) {
248 if (!manager_->core()->service()) 249 if (!manager_->core()->service())
249 manager_->StartConnection(client.Pass(), device_status_provider_.Pass()); 250 manager_->StartConnection(client.Pass(), device_status_provider_.Pass());
250 251
251 if (!on_connected_callback_.is_null()) { 252 if (!on_connected_callback_.is_null()) {
252 on_connected_callback_.Run(); 253 on_connected_callback_.Run();
253 on_connected_callback_.Reset(); 254 on_connected_callback_.Reset();
254 } 255 }
255 } 256 }
256 257
257 } // namespace policy 258 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698