| Index: update_engine_client.cc
|
| diff --git a/update_engine_client.cc b/update_engine_client.cc
|
| index 20c86a5a12bce47f2c0d82de4f8c8dc734772249..c0b61feca620401d247b942e408df5deab06ca18 100644
|
| --- a/update_engine_client.cc
|
| +++ b/update_engine_client.cc
|
| @@ -26,6 +26,7 @@ DEFINE_string(app_version, "", "Force the current app version.");
|
| DEFINE_bool(check_for_update, false, "Initiate check for updates.");
|
| DEFINE_string(omaha_url, "", "The URL of the Omaha update server.");
|
| DEFINE_bool(reboot, false, "Initiate a reboot if needed.");
|
| +DEFINE_bool(show_track, false, "Show the update track.");
|
| DEFINE_bool(status, false, "Print the status to stdout.");
|
| DEFINE_string(track, "", "Permanently change the update track.");
|
| DEFINE_bool(update, false, "Forces an update and waits for its completion. "
|
| @@ -192,6 +193,24 @@ void SetTrack(const string& track) {
|
| LOG(INFO) << "Track permanently set to: " << track;
|
| }
|
|
|
| +string GetTrack() {
|
| + DBusGProxy* proxy;
|
| + GError* error = NULL;
|
| +
|
| + CHECK(GetProxy(&proxy));
|
| +
|
| + char* track = NULL;
|
| + gboolean rc =
|
| + org_chromium_UpdateEngineInterface_get_track(proxy,
|
| + &track,
|
| + &error);
|
| + CHECK_EQ(rc, true) << "Error getting the track: "
|
| + << GetGErrorMessage(error);
|
| + string output = track;
|
| + g_free(track);
|
| + return output;
|
| +}
|
| +
|
| static gboolean CompleteUpdateSource(gpointer data) {
|
| string current_op;
|
| if (!GetStatus(¤t_op) || current_op == "UPDATE_STATUS_IDLE") {
|
| @@ -239,6 +258,11 @@ int main(int argc, char** argv) {
|
| SetTrack(FLAGS_track);
|
| }
|
|
|
| + // Show the track if requested.
|
| + if (FLAGS_show_track) {
|
| + LOG(INFO) << "Track: " << GetTrack();
|
| + }
|
| +
|
| // Initiate an update check, if necessary.
|
| if (FLAGS_check_for_update ||
|
| FLAGS_update ||
|
|
|