Add support to update_engine_client for -app_version and -omaha_url.
These options prevent auto-detection of these parameters.
Note that this CL makes the check_for_update DBus method obsolete from
the client's point of view.
BUG=4593
TEST=unit tests, gmerged on device and tried the client with different options.
Review URL: http://codereview.chromium.org/3048008
diff --git a/update_attempter.cc b/update_attempter.cc
index 5cf32e4..014f822 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -114,7 +114,8 @@
return code;
}
-void UpdateAttempter::Update() {
+void UpdateAttempter::Update(const std::string& app_version,
+ const std::string& omaha_url) {
if (status_ == UPDATE_STATUS_UPDATED_NEED_REBOOT) {
LOG(INFO) << "Not updating b/c we already updated and we're waiting for "
<< "reboot";
@@ -124,7 +125,7 @@
// Update in progress. Do nothing
return;
}
- if (!omaha_request_params_.Init()) {
+ if (!omaha_request_params_.Init(app_version, omaha_url)) {
LOG(ERROR) << "Unable to initialize Omaha request device params.";
return;
}
@@ -210,13 +211,14 @@
processor_.StartProcessing();
}
-void UpdateAttempter::CheckForUpdate() {
+void UpdateAttempter::CheckForUpdate(const std::string& app_version,
+ const std::string& omaha_url) {
if (status_ != UPDATE_STATUS_IDLE) {
LOG(INFO) << "Check for update requested, but status is "
<< UpdateStatusToString(status_) << ", so not checking.";
return;
}
- Update();
+ Update(app_version, omaha_url);
}
// Delegate methods: