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

Unified Diff: components/policy/core/common/cloud/cloud_policy_client.cc

Issue 845313008: Refactored device status uploading out of policy fetch infrastructure. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added tests, fixed existing tests. Created 5 years, 11 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: components/policy/core/common/cloud/cloud_policy_client.cc
diff --git a/components/policy/core/common/cloud/cloud_policy_client.cc b/components/policy/core/common/cloud/cloud_policy_client.cc
index d5f03d1bb8c2b7a3ac55d96dfeb7763de4298b9c..cff84f486f30ea714fde351bc1d3f42428e247c4 100644
--- a/components/policy/core/common/cloud/cloud_policy_client.cc
+++ b/components/policy/core/common/cloud/cloud_policy_client.cc
@@ -45,8 +45,6 @@ CloudPolicyClient::Observer::~Observer() {}
void CloudPolicyClient::Observer::OnRobotAuthCodesFetched(
CloudPolicyClient* client) {}
-CloudPolicyClient::StatusProvider::~StatusProvider() {}
-
CloudPolicyClient::CloudPolicyClient(
const std::string& machine_id,
const std::string& machine_model,
@@ -186,18 +184,6 @@ void CloudPolicyClient::FetchPolicy() {
}
}
- // Add status data.
- if (status_provider_) {
- if (!status_provider_->GetDeviceStatus(
- request->mutable_device_status_report_request())) {
- request->clear_device_status_report_request();
- }
- if (!status_provider_->GetSessionStatus(
- request->mutable_session_status_report_request())) {
- request->clear_session_status_report_request();
- }
- }
-
// Add device state keys.
if (!state_keys_to_upload_.empty()) {
em::DeviceStateKeyUpdateRequest* key_update_request =
@@ -276,6 +262,27 @@ void CloudPolicyClient::UploadCertificate(
request_job_->Start(job_callback);
}
+scoped_ptr<DeviceManagementRequestJob> CloudPolicyClient::CreateUploadStatusJob(
+ const em::DeviceStatusReportRequest* device_status,
+ const em::SessionStatusReportRequest* session_status) {
+ CHECK(is_registered());
+ // Should pass in at least one type of status.
+ DCHECK(device_status || session_status);
+ scoped_ptr<DeviceManagementRequestJob> job(
+ service_->CreateJob(DeviceManagementRequestJob::TYPE_UPLOAD_STATUS,
+ GetRequestContext()));
+ job->SetDMToken(dm_token_);
+ job->SetClientID(client_id_);
+
+ em::DeviceManagementRequest* request = job->GetRequest();
+ if (device_status)
+ *request->mutable_device_status_report_request() = *device_status;
+ if (session_status)
+ *request->mutable_session_status_report_request() = *session_status;
+
+ return job;
+}
+
void CloudPolicyClient::AddObserver(Observer* observer) {
observers_.AddObserver(observer);
}
@@ -284,14 +291,6 @@ void CloudPolicyClient::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
-void CloudPolicyClient::SetStatusProvider(scoped_ptr<StatusProvider> provider) {
- status_provider_ = provider.Pass();
-}
-
-bool CloudPolicyClient::HasStatusProviderForTest() {
- return status_provider_;
-}
-
void CloudPolicyClient::AddPolicyTypeToFetch(
const std::string& policy_type,
const std::string& settings_entity_id) {
@@ -423,8 +422,6 @@ void CloudPolicyClient::OnPolicyFetchCompleted(
}
responses_[key] = new em::PolicyFetchResponse(response);
}
- if (status_provider_)
- status_provider_->OnSubmittedSuccessfully();
state_keys_to_upload_.clear();
NotifyPolicyFetched();
} else {

Powered by Google App Engine
This is Rietveld 408576698