update_engine: Use DBus protobuf capabilities in dlcservice API methods
DBus have the capability to pass protobuf message directly in the method
without the need for serializing it manually. This CL uses those types
of arguments which is almost used everywhere in the platform2 code base.
BUG=chromium:978672
TEST=precq
Cq-Depend: chromium:1672684
Change-Id: I6e34ee76ede0c7b0b8cd1bba603a5836743d67fc
Reviewed-on: https://chromium-review.googlesource.com/1672021
Tested-by: Amin Hassani <ahassani@chromium.org>
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/dbus_service.cc b/dbus_service.cc
index 105d581..4e37221 100644
--- a/dbus_service.cc
+++ b/dbus_service.cc
@@ -30,6 +30,7 @@
using brillo::ErrorPtr;
using chromeos_update_engine::UpdateEngineService;
+using dlcservice::DlcModuleList;
using std::string;
using std::vector;
using update_engine::StatusResult;
@@ -77,25 +78,17 @@
}
bool DBusUpdateEngineService::AttemptInstall(ErrorPtr* error,
- const string& dlc_request) {
- // Parse the raw parameters into protobuf.
- dlcservice::DlcModuleList dlc_parameters;
- if (!dlc_parameters.ParseFromString(dlc_request)) {
- *error = brillo::Error::Create(
- FROM_HERE, "update_engine", "INTERNAL", "parameters are invalid.");
- return false;
- }
- // Extract fields from the protobuf.
+ const DlcModuleList& request) {
vector<string> dlc_ids;
- for (const auto& dlc_module_info : dlc_parameters.dlc_module_infos()) {
+ for (const auto& dlc_module_info : request.dlc_module_infos()) {
if (dlc_module_info.dlc_id().empty()) {
*error = brillo::Error::Create(
- FROM_HERE, "update_engine", "INTERNAL", "parameters are invalid.");
+ FROM_HERE, "update_engine", "INTERNAL", "Empty DLC ID passed.");
return false;
}
dlc_ids.push_back(dlc_module_info.dlc_id());
}
- return common_->AttemptInstall(error, dlc_parameters.omaha_url(), dlc_ids);
+ return common_->AttemptInstall(error, request.omaha_url(), dlc_ids);
}
bool DBusUpdateEngineService::AttemptRollback(ErrorPtr* error,