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

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

Issue 2383763002: Report ARC status asynchronously via DeviceStatusCollector (Closed)
Patch Set: Created 4 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.h
diff --git a/chrome/browser/chromeos/policy/device_status_collector.h b/chrome/browser/chromeos/policy/device_status_collector.h
index 80ee95d17276b9977d90216ef29a94f6aef4a9c5..ab336da60a86cfbbcdbd9d6208f185fbaffe2ec1 100644
--- a/chrome/browser/chromeos/policy/device_status_collector.h
+++ b/chrome/browser/chromeos/policy/device_status_collector.h
@@ -10,6 +10,7 @@
#include <deque>
#include <memory>
#include <string>
+#include <utility>
#include <vector>
#include "base/callback_forward.h"
@@ -26,6 +27,7 @@
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chromeos/system/version_loader.h"
#include "components/policy/proto/device_management_backend.pb.h"
+#include "mojo/public/cpp/bindings/string.h"
#include "ui/base/idle/idle.h"
namespace chromeos {
@@ -68,6 +70,9 @@ class DeviceStatusCollector {
using CPUTempFetcher =
base::Callback<std::vector<enterprise_management::CPUTempInfo>()>;
+ using AndroidStatusFetcher =
+ base::Callback<std::pair<mojo::String, mojo::String>(void)>;
+
// Called in the UI thread after the device and session status have been
// collected asynchronously in GetDeviceAndSessionStatusAsync. Null pointers
// indicate errors or that device or session status reporting is disabled.
@@ -84,7 +89,8 @@ class DeviceStatusCollector {
chromeos::system::StatisticsProvider* provider,
const VolumeInfoFetcher& volume_info_fetcher,
const CPUStatisticsFetcher& cpu_statistics_fetcher,
- const CPUTempFetcher& cpu_temp_fetcher);
+ const CPUTempFetcher& cpu_temp_fetcher,
+ const AndroidStatusFetcher& android_status_fetcher_);
virtual ~DeviceStatusCollector();
// Gathers device and session status information and calls the passed response
@@ -183,6 +189,9 @@ class DeviceStatusCollector {
// a |GetStatusState| instance.
bool GetAccountStatus(
enterprise_management::SessionStatusReportRequest* status);
+ bool GetAndroidStatus(
+ enterprise_management::SessionStatusReportRequest* status,
+ scoped_refptr<GetStatusState> state); // Queues async queries!
// Update the cached values of the reporting settings.
void UpdateReportingSettings();
@@ -230,6 +239,8 @@ class DeviceStatusCollector {
// Callback invoked to fetch information about cpu temperature.
CPUTempFetcher cpu_temp_fetcher_;
+ AndroidStatusFetcher android_status_fetcher_;
+
chromeos::system::StatisticsProvider* const statistics_provider_;
chromeos::CrosSettings* const cros_settings_;
@@ -246,6 +257,7 @@ class DeviceStatusCollector {
bool report_users_ = false;
bool report_hardware_status_ = false;
bool report_session_status_ = false;
+ bool report_android_status_ = false;
bool report_os_update_status_ = false;
bool report_running_kiosk_app_ = false;

Powered by Google App Engine
This is Rietveld 408576698