Index: chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
index 3497f0754df1035d585a668aecf88b25aa38add2..5731f89237f66fa060272b3c8b1ea4aad3185666 100644 |
--- a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
@@ -15,6 +15,7 @@ |
#include "chrome/browser/policy/cloud/cloud_policy_store.h" |
#include "chrome/browser/policy/cloud/device_management_service.h" |
#include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h" |
+#include "chrome/common/chrome_constants.h" |
#include "chrome/common/pref_names.h" |
namespace em = enterprise_management; |
@@ -49,6 +50,18 @@ const char* kMachineInfoSerialNumberKeys[] = { |
"sn", // old ZGB devices (more recent ones use serial_number) |
}; |
+// Fetches a machine statics from StatisticsProvider, returns an empty string on |
bartfab (slow)
2013/05/10 15:25:50
Nit: s/statistics/statistic/
|
+// failure. |
+std::string GetMachineStatistic(const std::string& key) { |
+ std::string value; |
+ chromeos::system::StatisticsProvider* provider = |
+ chromeos::system::StatisticsProvider::GetInstance(); |
+ if (!provider->GetMachineStatistic(key, &value)) |
+ LOG(WARNING) << "Failed to get machine statistic " << key; |
bartfab (slow)
2013/05/10 15:25:50
Nit: #include "base/logging.h"
|
+ |
+ return value; |
+} |
+ |
} // namespace |
DeviceCloudPolicyManagerChromeOS::DeviceCloudPolicyManagerChromeOS( |
@@ -88,11 +101,14 @@ void DeviceCloudPolicyManagerChromeOS::StartEnrollment( |
CHECK(device_management_service_); |
core()->Disconnect(); |
+ if (requisition_.empty()) |
+ requisition_ = GetMachineStatistic(chrome::kOemDeviceRequisitionKey); |
+ |
enrollment_handler_.reset( |
new EnrollmentHandlerChromeOS( |
device_store_.get(), install_attributes_, CreateClient(), auth_token, |
install_attributes_->GetDeviceId(), is_auto_enrollment, |
- allowed_device_modes, |
+ requisition_, allowed_device_modes, |
base::Bind(&DeviceCloudPolicyManagerChromeOS::EnrollmentCompleted, |
base::Unretained(this), callback))); |
enrollment_handler_->StartEnrollment(); |
@@ -138,13 +154,7 @@ std::string DeviceCloudPolicyManagerChromeOS::GetMachineID() { |
// 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; |
+ return GetMachineStatistic(kMachineInfoSystemHwqual); |
} |
scoped_ptr<CloudPolicyClient> DeviceCloudPolicyManagerChromeOS::CreateClient() { |