Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(971)

Side by Side Diff: update_attempter.cc

Issue 3022008: For actions, switch bool success into an exit code. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git
Patch Set: switch to all positive error codes. Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « update_attempter.h ('k') | utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "update_engine/update_attempter.h" 5 #include "update_engine/update_attempter.h"
6 6
7 // From 'man clock_gettime': feature test macro: _POSIX_C_SOURCE >= 199309L 7 // From 'man clock_gettime': feature test macro: _POSIX_C_SOURCE >= 199309L
8 #ifndef _POSIX_C_SOURCE 8 #ifndef _POSIX_C_SOURCE
9 #define _POSIX_C_SOURCE 199309L 9 #define _POSIX_C_SOURCE 199309L
10 #endif // _POSIX_C_SOURCE 10 #endif // _POSIX_C_SOURCE
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 if (status_ != UPDATE_STATUS_IDLE) { 191 if (status_ != UPDATE_STATUS_IDLE) {
192 LOG(INFO) << "Check for update requested, but status is " 192 LOG(INFO) << "Check for update requested, but status is "
193 << UpdateStatusToString(status_) << ", so not checking."; 193 << UpdateStatusToString(status_) << ", so not checking.";
194 return; 194 return;
195 } 195 }
196 Update(); 196 Update();
197 } 197 }
198 198
199 // Delegate methods: 199 // Delegate methods:
200 void UpdateAttempter::ProcessingDone(const ActionProcessor* processor, 200 void UpdateAttempter::ProcessingDone(const ActionProcessor* processor,
201 bool success) { 201 ActionExitCode code) {
202 CHECK(response_handler_action_); 202 CHECK(response_handler_action_);
203 LOG(INFO) << "Processing Done."; 203 LOG(INFO) << "Processing Done.";
204 actions_.clear(); 204 actions_.clear();
205 if (success) { 205 if (code == kActionCodeSuccess) {
206 SetStatusAndNotify(UPDATE_STATUS_UPDATED_NEED_REBOOT); 206 SetStatusAndNotify(UPDATE_STATUS_UPDATED_NEED_REBOOT);
207 utils::WriteFile(kUpdateCompletedMarker, "", 0); 207 utils::WriteFile(kUpdateCompletedMarker, "", 0);
208 } else { 208 } else {
209 LOG(INFO) << "Update failed."; 209 LOG(INFO) << "Update failed.";
210 SetStatusAndNotify(UPDATE_STATUS_IDLE); 210 SetStatusAndNotify(UPDATE_STATUS_IDLE);
211 } 211 }
212 } 212 }
213 213
214 void UpdateAttempter::ProcessingStopped(const ActionProcessor* processor) { 214 void UpdateAttempter::ProcessingStopped(const ActionProcessor* processor) {
215 download_progress_ = 0.0; 215 download_progress_ = 0.0;
216 SetStatusAndNotify(UPDATE_STATUS_IDLE); 216 SetStatusAndNotify(UPDATE_STATUS_IDLE);
217 actions_.clear(); 217 actions_.clear();
218 } 218 }
219 219
220 // Called whenever an action has finished processing, either successfully 220 // Called whenever an action has finished processing, either successfully
221 // or otherwise. 221 // or otherwise.
222 void UpdateAttempter::ActionCompleted(ActionProcessor* processor, 222 void UpdateAttempter::ActionCompleted(ActionProcessor* processor,
223 AbstractAction* action, 223 AbstractAction* action,
224 bool success) { 224 ActionExitCode code) {
225 // Reset download progress regardless of whether or not the download action 225 // Reset download progress regardless of whether or not the download action
226 // succeeded. 226 // succeeded.
227 const string type = action->Type(); 227 const string type = action->Type();
228 if (type == DownloadAction::StaticType()) 228 if (type == DownloadAction::StaticType())
229 download_progress_ = 0.0; 229 download_progress_ = 0.0;
230 if (!success) 230 if (code != kActionCodeSuccess)
231 return; 231 return;
232 // Find out which action completed. 232 // Find out which action completed.
233 if (type == OmahaResponseHandlerAction::StaticType()) { 233 if (type == OmahaResponseHandlerAction::StaticType()) {
234 SetStatusAndNotify(UPDATE_STATUS_DOWNLOADING); 234 SetStatusAndNotify(UPDATE_STATUS_DOWNLOADING);
235 OmahaResponseHandlerAction* omaha_response_handler_action = 235 OmahaResponseHandlerAction* omaha_response_handler_action =
236 dynamic_cast<OmahaResponseHandlerAction*>(action); 236 dynamic_cast<OmahaResponseHandlerAction*>(action);
237 CHECK(omaha_response_handler_action); 237 CHECK(omaha_response_handler_action);
238 const InstallPlan& plan = omaha_response_handler_action->install_plan(); 238 const InstallPlan& plan = omaha_response_handler_action->install_plan();
239 last_checked_time_ = time(NULL); 239 last_checked_time_ = time(NULL);
240 // TODO(adlr): put version in InstallPlan 240 // TODO(adlr): put version in InstallPlan
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 update_engine_service_emit_status_update( 297 update_engine_service_emit_status_update(
298 dbus_service_, 298 dbus_service_,
299 last_checked_time_, 299 last_checked_time_,
300 download_progress_, 300 download_progress_,
301 UpdateStatusToString(status_), 301 UpdateStatusToString(status_),
302 new_version_.c_str(), 302 new_version_.c_str(),
303 new_size_); 303 new_size_);
304 } 304 }
305 305
306 } // namespace chromeos_update_engine 306 } // namespace chromeos_update_engine
OLDNEW
« no previous file with comments | « update_attempter.h ('k') | utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698