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

Unified Diff: chrome/browser/policy/device_cloud_policy_manager_chromeos.cc

Issue 12189011: Split up chrome/browser/policy subdirectory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase, add chrome/browser/chromeos/policy/OWNERS Created 7 years, 9 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/policy/device_cloud_policy_manager_chromeos.cc
diff --git a/chrome/browser/policy/device_cloud_policy_manager_chromeos.cc b/chrome/browser/policy/device_cloud_policy_manager_chromeos.cc
deleted file mode 100644
index a7b4aef7eeb5b92039dcdbc3f07ff430a624c18d..0000000000000000000000000000000000000000
--- a/chrome/browser/policy/device_cloud_policy_manager_chromeos.cc
+++ /dev/null
@@ -1,182 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/policy/device_cloud_policy_manager_chromeos.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "chrome/browser/chromeos/system/statistics_provider.h"
-#include "chrome/browser/policy/cloud_policy_constants.h"
-#include "chrome/browser/policy/cloud_policy_store.h"
-#include "chrome/browser/policy/device_cloud_policy_store_chromeos.h"
-#include "chrome/browser/policy/device_management_service.h"
-#include "chrome/browser/policy/enrollment_handler_chromeos.h"
-#include "chrome/browser/policy/enterprise_install_attributes.h"
-#include "chrome/browser/policy/proto/device_management_backend.pb.h"
-#include "chrome/common/pref_names.h"
-
-namespace em = enterprise_management;
-
-namespace policy {
-
-namespace {
-
-// MachineInfo key names.
-const char kMachineInfoSystemHwqual[] = "hardware_class";
-
-// These are the machine serial number keys that we check in order until we
-// find a non-empty serial number. The VPD spec says the serial number should be
-// in the "serial_number" key for v2+ VPDs. However, legacy devices used a
-// different keys to report their serial number, which we fall back to if
-// "serial_number" is not present.
-//
-// Product_S/N is still special-cased due to inconsistencies with serial
-// numbers on Lumpy devices: On these devices, serial_number is identical to
-// Product_S/N with an appended checksum. Unfortunately, the sticker on the
-// packaging doesn't include that checksum either (the sticker on the device
-// does though!). The former sticker is the source of the serial number used by
-// device management service, so we prefer Product_S/N over serial number to
-// match the server.
-//
-// TODO(mnissler): Move serial_number back to the top once the server side uses
-// the correct serial number.
-const char* kMachineInfoSerialNumberKeys[] = {
- "Product_S/N", // Lumpy/Alex devices
- "serial_number", // VPD v2+ devices
- "Product_SN", // Mario
- "sn", // old ZGB devices (more recent ones use serial_number)
-};
-
-} // namespace
-
-DeviceCloudPolicyManagerChromeOS::DeviceCloudPolicyManagerChromeOS(
- scoped_ptr<DeviceCloudPolicyStoreChromeOS> store,
- EnterpriseInstallAttributes* install_attributes)
- : CloudPolicyManager(
- PolicyNamespaceKey(dm_protocol::kChromeDevicePolicyType,
- std::string()),
- store.get()),
- device_store_(store.Pass()),
- install_attributes_(install_attributes),
- device_management_service_(NULL),
- local_state_(NULL) {}
-
-DeviceCloudPolicyManagerChromeOS::~DeviceCloudPolicyManagerChromeOS() {}
-
-void DeviceCloudPolicyManagerChromeOS::Connect(
- PrefService* local_state,
- DeviceManagementService* device_management_service,
- scoped_ptr<CloudPolicyClient::StatusProvider> device_status_provider) {
- CHECK(!device_management_service_);
- CHECK(device_management_service);
- CHECK(local_state);
-
- local_state_ = local_state;
- device_management_service_ = device_management_service;
- device_status_provider_ = device_status_provider.Pass();
-
- StartIfManaged();
-}
-
-void DeviceCloudPolicyManagerChromeOS::StartEnrollment(
- const std::string& auth_token,
- bool is_auto_enrollment,
- const AllowedDeviceModes& allowed_device_modes,
- const EnrollmentCallback& callback) {
- CHECK(device_management_service_);
- core()->Disconnect();
-
- enrollment_handler_.reset(
- new EnrollmentHandlerChromeOS(
- device_store_.get(), install_attributes_, CreateClient(), auth_token,
- install_attributes_->GetDeviceId(), is_auto_enrollment,
- allowed_device_modes,
- base::Bind(&DeviceCloudPolicyManagerChromeOS::EnrollmentCompleted,
- base::Unretained(this), callback)));
- enrollment_handler_->StartEnrollment();
-}
-
-void DeviceCloudPolicyManagerChromeOS::CancelEnrollment() {
- if (enrollment_handler_.get()) {
- enrollment_handler_.reset();
- StartIfManaged();
- }
-}
-
-void DeviceCloudPolicyManagerChromeOS::OnStoreLoaded(CloudPolicyStore* store) {
- CloudPolicyManager::OnStoreLoaded(store);
-
- if (!enrollment_handler_.get())
- StartIfManaged();
-}
-
-// static
-std::string DeviceCloudPolicyManagerChromeOS::GetMachineID() {
- std::string machine_id;
- chromeos::system::StatisticsProvider* provider =
- chromeos::system::StatisticsProvider::GetInstance();
- for (size_t i = 0; i < arraysize(kMachineInfoSerialNumberKeys); i++) {
- if (provider->GetMachineStatistic(kMachineInfoSerialNumberKeys[i],
- &machine_id) &&
- !machine_id.empty()) {
- break;
- }
- }
-
- if (machine_id.empty())
- LOG(WARNING) << "Failed to get machine id.";
-
- return machine_id;
-}
-
-// static
-std::string DeviceCloudPolicyManagerChromeOS::GetMachineModel() {
- std::string machine_model;
- chromeos::system::StatisticsProvider* provider =
- chromeos::system::StatisticsProvider::GetInstance();
- if (!provider->GetMachineStatistic(kMachineInfoSystemHwqual, &machine_model))
- LOG(WARNING) << "Failed to get machine model.";
-
- return machine_model;
-}
-
-scoped_ptr<CloudPolicyClient> DeviceCloudPolicyManagerChromeOS::CreateClient() {
- return make_scoped_ptr(
- new CloudPolicyClient(GetMachineID(), GetMachineModel(),
- USER_AFFILIATION_NONE,
- device_status_provider_.get(),
- device_management_service_));
-}
-
-void DeviceCloudPolicyManagerChromeOS::EnrollmentCompleted(
- const EnrollmentCallback& callback,
- EnrollmentStatus status) {
- if (status.status() == EnrollmentStatus::STATUS_SUCCESS) {
- core()->Connect(enrollment_handler_->ReleaseClient());
- core()->StartRefreshScheduler();
- core()->TrackRefreshDelayPref(local_state_,
- prefs::kDevicePolicyRefreshRate);
- } else {
- StartIfManaged();
- }
-
- enrollment_handler_.reset();
- if (!callback.is_null())
- callback.Run(status);
-}
-
-void DeviceCloudPolicyManagerChromeOS::StartIfManaged() {
- if (device_management_service_ &&
- local_state_ &&
- store()->is_initialized() &&
- store()->is_managed() &&
- !service()) {
- core()->Connect(CreateClient());
- core()->StartRefreshScheduler();
- core()->TrackRefreshDelayPref(local_state_,
- prefs::kDevicePolicyRefreshRate);
- }
-}
-
-} // namespace policy

Powered by Google App Engine
This is Rietveld 408576698