Commit b373d864 authored by Owen Min's avatar Owen Min Committed by Commit Bot

Update CloudPolicyClient.UploadChromeDesktopReport.

Using unique_ptr instead of references to avoid copy of protobuf later.

Bug: 812641
Change-Id: I847dcf99a7e475d51a04897942ea39c5c84ca47b
Reviewed-on: https://chromium-review.googlesource.com/999043Reviewed-by: default avatarMaksim Ivanov <emaxx@chromium.org>
Reviewed-by: default avatarRoger Tawa <rogerta@chromium.org>
Commit-Queue: Owen Min <zmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548815}
parent 4258b73b
......@@ -433,9 +433,10 @@ void CloudPolicyClient::UploadDeviceStatus(
}
void CloudPolicyClient::UploadChromeDesktopReport(
const em::ChromeDesktopReportRequest& chrome_desktop_report,
std::unique_ptr<em::ChromeDesktopReportRequest> chrome_desktop_report,
const CloudPolicyClient::StatusCallback& callback) {
CHECK(is_registered());
DCHECK(chrome_desktop_report);
std::unique_ptr<DeviceManagementRequestJob> request_job(service_->CreateJob(
DeviceManagementRequestJob::TYPE_CHROME_DESKTOP_REPORT,
GetRequestContext()));
......@@ -444,7 +445,8 @@ void CloudPolicyClient::UploadChromeDesktopReport(
request_job->SetClientID(client_id_);
em::DeviceManagementRequest* request = request_job->GetRequest();
*request->mutable_chrome_desktop_report_request() = chrome_desktop_report;
request->set_allocated_chrome_desktop_report_request(
chrome_desktop_report.release());
const DeviceManagementRequestJob::Callback job_callback =
base::Bind(&CloudPolicyClient::OnReportUploadCompleted,
......
......@@ -201,7 +201,7 @@ class POLICY_EXPORT CloudPolicyClient {
// in a registered state. |chrome_desktop_report| will be included in the
// upload request. The |callback| will be called when the operation completes.
virtual void UploadChromeDesktopReport(
const enterprise_management::ChromeDesktopReportRequest&
std::unique_ptr<enterprise_management::ChromeDesktopReportRequest>
chrome_desktop_report,
const StatusCallback& callback);
......
......@@ -1020,8 +1020,10 @@ TEST_F(CloudPolicyClientTest, UploadChromeDesktopReport) {
CloudPolicyClient::StatusCallback callback =
base::Bind(&MockStatusCallbackObserver::OnCallbackComplete,
base::Unretained(&callback_observer_));
em::ChromeDesktopReportRequest chrome_desktop_report;
client_->UploadChromeDesktopReport(chrome_desktop_report, callback);
std::unique_ptr<em::ChromeDesktopReportRequest> chrome_desktop_report =
std::make_unique<em::ChromeDesktopReportRequest>();
client_->UploadChromeDesktopReport(std::move(chrome_desktop_report),
callback);
EXPECT_EQ(DM_STATUS_SUCCESS, client_->status());
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment