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

Unified Diff: chrome/browser/chromeos/policy/device_status_collector.cc

Issue 23494053: Remove NOTIFICATION_SYSTEM_SETTING_CHANGED, switch CrosSettings to base::CallbackRegistry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: oops Created 7 years, 3 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/chromeos/policy/device_status_collector.cc
diff --git a/chrome/browser/chromeos/policy/device_status_collector.cc b/chrome/browser/chromeos/policy/device_status_collector.cc
index 4df62a7ff3cf54f078603cd299e368f0b78d1104..8faa0e2636b086189dea58c4d968edaab73cc789 100644
--- a/chrome/browser/chromeos/policy/device_status_collector.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector.cc
@@ -148,13 +148,26 @@ DeviceStatusCollector::DeviceStatusCollector(
// Watch for changes to the individual policies that control what the status
// reports contain.
- cros_settings_->AddSettingsObserver(chromeos::kReportDeviceVersionInfo, this);
- cros_settings_->AddSettingsObserver(chromeos::kReportDeviceActivityTimes,
- this);
- cros_settings_->AddSettingsObserver(chromeos::kReportDeviceBootMode, this);
- cros_settings_->AddSettingsObserver(chromeos::kReportDeviceLocation, this);
- cros_settings_->AddSettingsObserver(chromeos::kReportDeviceNetworkInterfaces,
- this);
+ version_info_subscription_ = cros_settings_->AddSettingsObserver(
+ chromeos::kReportDeviceVersionInfo,
+ base::Bind(&DeviceStatusCollector::UpdateReportingSettings,
Mattias Nissler (ping if slow) 2013/09/18 09:09:48 This can probably be made more readable by declari
Avi (use Gerrit) 2013/09/18 16:41:44 Done.
+ base::Unretained(this)));
+ activity_times_subscription_ = cros_settings_->AddSettingsObserver(
+ chromeos::kReportDeviceActivityTimes,
+ base::Bind(&DeviceStatusCollector::UpdateReportingSettings,
+ base::Unretained(this)));
+ boot_mode_subscription_ = cros_settings_->AddSettingsObserver(
+ chromeos::kReportDeviceBootMode,
+ base::Bind(&DeviceStatusCollector::UpdateReportingSettings,
+ base::Unretained(this)));
+ location_subscription_ = cros_settings_->AddSettingsObserver(
+ chromeos::kReportDeviceLocation,
+ base::Bind(&DeviceStatusCollector::UpdateReportingSettings,
+ base::Unretained(this)));
+ network_interfaces_subscription_ = cros_settings_->AddSettingsObserver(
+ chromeos::kReportDeviceNetworkInterfaces,
+ base::Bind(&DeviceStatusCollector::UpdateReportingSettings,
+ base::Unretained(this)));
// The last known location is persisted in local state. This makes location
// information available immediately upon startup and avoids the need to
@@ -191,14 +204,6 @@ DeviceStatusCollector::DeviceStatusCollector(
}
DeviceStatusCollector::~DeviceStatusCollector() {
- cros_settings_->RemoveSettingsObserver(chromeos::kReportDeviceVersionInfo,
- this);
- cros_settings_->RemoveSettingsObserver(chromeos::kReportDeviceActivityTimes,
- this);
- cros_settings_->RemoveSettingsObserver(chromeos::kReportDeviceBootMode, this);
- cros_settings_->RemoveSettingsObserver(chromeos::kReportDeviceLocation, this);
- cros_settings_->RemoveSettingsObserver(
- chromeos::kReportDeviceNetworkInterfaces, this);
}
// static
@@ -499,16 +504,6 @@ void DeviceStatusCollector::OnOSFirmware(const std::string& version) {
firmware_version_ = version;
}
-void DeviceStatusCollector::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_SYSTEM_SETTING_CHANGED)
- UpdateReportingSettings();
- else
- NOTREACHED();
-}
-
void DeviceStatusCollector::ScheduleGeolocationUpdateRequest() {
if (geolocation_update_timer_.IsRunning() || geolocation_update_in_progress_)
return;

Powered by Google App Engine
This is Rietveld 408576698