Chromium Code Reviews| Index: chrome/browser/policy/device_status_collector.cc |
| diff --git a/chrome/browser/policy/device_status_collector.cc b/chrome/browser/policy/device_status_collector.cc |
| index 4055b7d1c6403ecfdb280ba6832fb12e71189917..160e3308523985d8f307392d9b25b4f04c556202 100644 |
| --- a/chrome/browser/policy/device_status_collector.cc |
| +++ b/chrome/browser/policy/device_status_collector.cc |
| @@ -10,6 +10,7 @@ |
| #include "base/string_number_conversions.h" |
| #include "base/task.h" |
|
Joao da Silva
2011/12/12 14:23:04
Nit: not needed
Patrick Dubroy
2011/12/12 15:18:01
Good catch. These were used in an older version of
|
| #include "base/time.h" |
| +#include "chrome/browser/chromeos/version_loader.h" |
| #include "chrome/browser/idle.h" |
|
Joao da Silva
2011/12/12 14:23:04
Nit: these 3 are already included in .h, not neede
Patrick Dubroy
2011/12/12 15:18:01
Ok, I've never been quite sure what the recommende
|
| #include "chrome/browser/policy/proto/device_management_backend.pb.h" |
| #include "chrome/browser/prefs/pref_service.h" |
| @@ -17,6 +18,7 @@ |
| using base::Time; |
| using base::TimeDelta; |
| +using chromeos::VersionLoader; |
| namespace em = enterprise_management; |
| @@ -53,6 +55,15 @@ DeviceStatusCollector::DeviceStatusCollector(PrefService* local_state) |
| TimeDelta::FromSeconds( |
| DeviceStatusCollector::kPollIntervalSeconds), |
| this, &DeviceStatusCollector::CheckIdleState); |
| + |
| + // Get the the OS and firmware version info. |
| + version_loader_.GetVersion(&consumer_, |
| + base::Bind(&DeviceStatusCollector::OnOSVersion, |
| + base::Unretained(this)), |
| + VersionLoader::VERSION_FULL); |
| + version_loader_.GetFirmware(&consumer_, |
| + base::Bind(&DeviceStatusCollector::OnOSFirmware, |
| + base::Unretained(this))); |
| } |
| DeviceStatusCollector::~DeviceStatusCollector() { |
| @@ -147,6 +158,19 @@ void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) { |
| } |
| ListPrefUpdate update(local_state_, kPrefDeviceActivePeriods); |
| update.Get()->Clear(); |
| + |
| + request->set_os_version(os_version_); |
| + request->set_firmware_version(firmware_version_); |
| +} |
| + |
| +void DeviceStatusCollector::OnOSVersion(VersionLoader::Handle handle, |
| + std::string version) { |
| + os_version_ = version; |
| +} |
| + |
| +void DeviceStatusCollector::OnOSFirmware(VersionLoader::Handle handle, |
| + std::string version) { |
| + firmware_version_ = version; |
| } |
| } // namespace policy |