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/dbus_service.cc b/dbus_service.cc
index 12398cd..54dde41 100644
--- a/dbus_service.cc
+++ b/dbus_service.cc
@@ -21,7 +21,7 @@
GObjectClass *object_class;
object_class = G_OBJECT_CLASS(klass);
object_class->finalize = update_engine_service_finalize;
-
+
status_update_signal = g_signal_new(
"status_update",
G_OBJECT_CLASS_TYPE(klass),
@@ -56,21 +56,33 @@
GError **error) {
string current_op;
string new_version_str;
-
+
CHECK(self->update_attempter_->GetStatus(last_checked_time,
progress,
¤t_op,
&new_version_str,
new_size));
-
+
*current_operation = strdup(current_op.c_str());
*new_version = strdup(new_version_str.c_str());
return TRUE;
}
+gboolean update_engine_service_attempt_update(UpdateEngineService* self,
+ gchar* app_version,
+ gchar* omaha_url,
+ GError **error) {
+ const string update_app_version = app_version ? app_version : "";
+ const string update_omaha_url = omaha_url ? omaha_url : "";
+ LOG(INFO) << "Attempt update: app_version=\"" << update_app_version << "\" "
+ << "omaha_url=\"" << update_omaha_url << "\"";
+ self->update_attempter_->CheckForUpdate(app_version, omaha_url);
+ return TRUE;
+}
+
gboolean update_engine_service_check_for_update(UpdateEngineService* self,
GError **error) {
- self->update_attempter_->CheckForUpdate();
+ self->update_attempter_->CheckForUpdate("", "");
return TRUE;
}