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 |