| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |