Update API: initial support
Initial pieces of the Update API callback framework.
- move the status callback params to a new object, UpdateEngineStatus to
allow for the easier addition of new params in the future.
- switch the IUpdateEngineStatusCallback to provide a
ParcelableUpdateEngineStatus instead of a series of individual params
- move the various GetStatus() methods to use the UpdateEngineStatus
object instead of a series of params (which will need future expansion)
- Add current and new product/os versions to both the UpdateEngineStatus
and the ParcelableUpdateEngineStatus.
Bug: 64808702
Test: unit tests, and performing OTAs via a test app calling
IUpdateEngine::AttemptUpdate() via UpdateManager::performUpdateNow()
Change-Id: I53f66f3511049f0809855814e1e758023cd8cc08
(cherry picked from commit 4f96ebf85022837603f2e10100a044d234b7d86f)
diff --git a/update_attempter.h b/update_attempter.h
index 9dd844d..fb975f3 100644
--- a/update_attempter.h
+++ b/update_attempter.h
@@ -114,12 +114,8 @@
// for testing purposes.
virtual bool ResetStatus();
- // Returns the current status in the out params. Returns true on success.
- virtual bool GetStatus(int64_t* last_checked_time,
- double* progress,
- std::string* current_operation,
- std::string* new_version,
- int64_t* new_size);
+ // Returns the current status in the out param. Returns true on success.
+ virtual bool GetStatus(update_engine::UpdateEngineStatus* out_status);
// Runs chromeos-setgoodkernel, whose responsibility it is to mark the
// currently booted partition has high priority/permanent/etc. The execution
@@ -441,7 +437,8 @@
int64_t last_checked_time_ = 0;
std::string prev_version_;
std::string new_version_ = "0.0.0.0";
- int64_t new_payload_size_ = 0;
+ std::string new_system_version_;
+ uint64_t new_payload_size_ = 0;
// Common parameters for all Omaha requests.
OmahaRequestParams* omaha_request_params_ = nullptr;