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

Side by Side Diff: chrome/browser/chromeos/policy/device_status_collector.h

Issue 2132663002: kiosk: Add status report for os update and running app (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move clean up code from TearDown to dtor since set up code is in ctor now and fix DeviceStatusColle… Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_STATUS_COLLECTOR_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_STATUS_COLLECTOR_H_
6 #define CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_STATUS_COLLECTOR_H_ 6 #define CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_STATUS_COLLECTOR_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <deque> 10 #include <deque>
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 void GetBootMode( 171 void GetBootMode(
172 enterprise_management::DeviceStatusReportRequest* request); 172 enterprise_management::DeviceStatusReportRequest* request);
173 void GetLocation( 173 void GetLocation(
174 enterprise_management::DeviceStatusReportRequest* request); 174 enterprise_management::DeviceStatusReportRequest* request);
175 void GetNetworkInterfaces( 175 void GetNetworkInterfaces(
176 enterprise_management::DeviceStatusReportRequest* request); 176 enterprise_management::DeviceStatusReportRequest* request);
177 void GetUsers( 177 void GetUsers(
178 enterprise_management::DeviceStatusReportRequest* request); 178 enterprise_management::DeviceStatusReportRequest* request);
179 void GetHardwareStatus( 179 void GetHardwareStatus(
180 enterprise_management::DeviceStatusReportRequest* request); 180 enterprise_management::DeviceStatusReportRequest* request);
181 bool GetOsUpdateStatus(
182 enterprise_management::DeviceStatusReportRequest* request);
183 bool GetRunningKioskApp(
184 enterprise_management::DeviceStatusReportRequest* request);
181 185
182 // Update the cached values of the reporting settings. 186 // Update the cached values of the reporting settings.
183 void UpdateReportingSettings(); 187 void UpdateReportingSettings();
184 188
185 void ScheduleGeolocationUpdateRequest(); 189 void ScheduleGeolocationUpdateRequest();
186 190
187 // content::GeolocationUpdateCallback implementation. 191 // content::GeolocationUpdateCallback implementation.
188 void ReceiveGeolocationUpdate(const content::Geoposition&); 192 void ReceiveGeolocationUpdate(const content::Geoposition&);
189 193
190 // Callback invoked to update our cached disk information. 194 // Callback invoked to update our cached disk information.
191 void ReceiveVolumeInfo( 195 void ReceiveVolumeInfo(
192 const std::vector<enterprise_management::VolumeInfo>& info); 196 const std::vector<enterprise_management::VolumeInfo>& info);
193 197
194 // Callback invoked to update our cpu usage information. 198 // Callback invoked to update our cpu usage information.
195 void ReceiveCPUStatistics(const std::string& statistics); 199 void ReceiveCPUStatistics(const std::string& statistics);
196 200
197 // Callback invoked to update our CPU temp information. 201 // Callback invoked to update our CPU temp information.
198 void StoreCPUTempInfo( 202 void StoreCPUTempInfo(
199 const std::vector<enterprise_management::CPUTempInfo>& info); 203 const std::vector<enterprise_management::CPUTempInfo>& info);
200 204
201 // Helper routine to convert from Shill-provided signal strength (percent) 205 // Helper routine to convert from Shill-provided signal strength (percent)
202 // to dBm units expected by server. 206 // to dBm units expected by server.
203 int ConvertWifiSignalStrength(int signal_strength); 207 int ConvertWifiSignalStrength(int signal_strength);
204 208
205 PrefService* local_state_; 209 PrefService* const local_state_;
206 210
207 // The last time an idle state check was performed. 211 // The last time an idle state check was performed.
208 base::Time last_idle_check_; 212 base::Time last_idle_check_;
209 213
210 // The maximum key that went into the last report generated by 214 // The maximum key that went into the last report generated by
211 // GetDeviceStatus(), and the duration for it. This is used to trim the 215 // GetDeviceStatus(), and the duration for it. This is used to trim the
212 // stored data in OnSubmittedSuccessfully(). Trimming is delayed so 216 // stored data in OnSubmittedSuccessfully(). Trimming is delayed so
213 // unsuccessful uploads don't result in dropped data. 217 // unsuccessful uploads don't result in dropped data.
214 int64_t last_reported_day_; 218 int64_t last_reported_day_ = 0;
215 int duration_for_last_reported_day_; 219 int duration_for_last_reported_day_ = 0;
216 220
217 // Whether a geolocation update is currently in progress. 221 // Whether a geolocation update is currently in progress.
218 bool geolocation_update_in_progress_; 222 bool geolocation_update_in_progress_ = false;
219 223
220 base::RepeatingTimer idle_poll_timer_; 224 base::RepeatingTimer idle_poll_timer_;
221 base::RepeatingTimer hardware_status_sampling_timer_; 225 base::RepeatingTimer hardware_status_sampling_timer_;
222 base::OneShotTimer geolocation_update_timer_; 226 base::OneShotTimer geolocation_update_timer_;
223 227
224 std::string os_version_; 228 std::string os_version_;
225 std::string firmware_version_; 229 std::string firmware_version_;
226 230
227 content::Geoposition position_; 231 content::Geoposition position_;
228 232
(...skipping 18 matching lines...) Expand all
247 251
248 // Callback invoked to fetch information about the mounted disk volumes. 252 // Callback invoked to fetch information about the mounted disk volumes.
249 VolumeInfoFetcher volume_info_fetcher_; 253 VolumeInfoFetcher volume_info_fetcher_;
250 254
251 // Callback invoked to fetch information about cpu usage. 255 // Callback invoked to fetch information about cpu usage.
252 CPUStatisticsFetcher cpu_statistics_fetcher_; 256 CPUStatisticsFetcher cpu_statistics_fetcher_;
253 257
254 // Callback invoked to fetch information about cpu temperature. 258 // Callback invoked to fetch information about cpu temperature.
255 CPUTempFetcher cpu_temp_fetcher_; 259 CPUTempFetcher cpu_temp_fetcher_;
256 260
257 chromeos::system::StatisticsProvider* statistics_provider_; 261 chromeos::system::StatisticsProvider* const statistics_provider_;
258 262
259 chromeos::CrosSettings* cros_settings_; 263 chromeos::CrosSettings* const cros_settings_;
260 264
261 // The most recent CPU readings. 265 // The most recent CPU readings.
262 uint64_t last_cpu_active_; 266 uint64_t last_cpu_active_ = 0;
263 uint64_t last_cpu_idle_; 267 uint64_t last_cpu_idle_ = 0;
264 268
265 // TODO(bartfab): Remove this once crbug.com/125931 is addressed and a proper 269 // TODO(bartfab): Remove this once crbug.com/125931 is addressed and a proper
266 // way to mock geolocation exists. 270 // way to mock geolocation exists.
267 LocationUpdateRequester location_update_requester_; 271 LocationUpdateRequester location_update_requester_;
268 272
269 std::unique_ptr<content::GeolocationProvider::Subscription> 273 std::unique_ptr<content::GeolocationProvider::Subscription>
270 geolocation_subscription_; 274 geolocation_subscription_;
271 275
272 // Cached values of the reporting settings from the device policy. 276 // Cached values of the reporting settings from the device policy.
273 bool report_version_info_; 277 bool report_version_info_ = false;
274 bool report_activity_times_; 278 bool report_activity_times_ = false;
275 bool report_boot_mode_; 279 bool report_boot_mode_ = false;
276 bool report_location_; 280 bool report_location_ = false;
277 bool report_network_interfaces_; 281 bool report_network_interfaces_ = false;
278 bool report_users_; 282 bool report_users_ = false;
279 bool report_hardware_status_; 283 bool report_hardware_status_ = false;
280 bool report_session_status_; 284 bool report_session_status_ = false;
285 bool report_os_update_status_ = false;
286 bool report_running_kiosk_app_ = false;
281 287
282 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 288 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
283 version_info_subscription_; 289 version_info_subscription_;
284 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 290 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
285 activity_times_subscription_; 291 activity_times_subscription_;
286 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 292 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
287 boot_mode_subscription_; 293 boot_mode_subscription_;
288 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 294 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
289 location_subscription_; 295 location_subscription_;
290 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 296 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
291 network_interfaces_subscription_; 297 network_interfaces_subscription_;
292 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 298 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
293 users_subscription_; 299 users_subscription_;
294 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 300 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
295 hardware_status_subscription_; 301 hardware_status_subscription_;
296 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription> 302 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
297 session_status_subscription_; 303 session_status_subscription_;
304 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
305 os_update_status_subscription_;
306 std::unique_ptr<chromeos::CrosSettings::ObserverSubscription>
307 running_kiosk_app_subscription_;
298 308
299 base::WeakPtrFactory<DeviceStatusCollector> weak_factory_; 309 base::WeakPtrFactory<DeviceStatusCollector> weak_factory_;
300 310
301 DISALLOW_COPY_AND_ASSIGN(DeviceStatusCollector); 311 DISALLOW_COPY_AND_ASSIGN(DeviceStatusCollector);
302 }; 312 };
303 313
304 } // namespace policy 314 } // namespace policy
305 315
306 #endif // CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_STATUS_COLLECTOR_H_ 316 #endif // CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_STATUS_COLLECTOR_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/app_mode/kiosk_app_manager.cc ('k') | chrome/browser/chromeos/policy/device_status_collector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698