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 |