summaryrefslogtreecommitdiff
path: root/update_status_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'update_status_utils.cc')
-rw-r--r--update_status_utils.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/update_status_utils.cc b/update_status_utils.cc
index f3917d1d..b56d94a1 100644
--- a/update_status_utils.cc
+++ b/update_status_utils.cc
@@ -16,8 +16,13 @@
#include "update_engine/update_status_utils.h"
#include <base/logging.h>
+#include <base/strings/string_number_conversions.h>
+#include <brillo/key_value_store.h>
#include <update_engine/dbus-constants.h>
+using brillo::KeyValueStore;
+using std::string;
+using update_engine::UpdateEngineStatus;
using update_engine::UpdateStatus;
namespace chromeos_update_engine {
@@ -52,4 +57,28 @@ const char* UpdateStatusToString(const UpdateStatus& status) {
return nullptr;
}
+string UpdateEngineStatusToString(const UpdateEngineStatus& status) {
+ KeyValueStore key_value_store;
+
+#if BASE_VER < 576279
+ key_value_store.SetString("LAST_CHECKED_TIME",
+ base::Int64ToString(status.last_checked_time));
+ key_value_store.SetString("PROGRESS", base::DoubleToString(status.progress));
+ key_value_store.SetString("NEW_SIZE",
+ base::Uint64ToString(status.new_size_bytes));
+#else
+ key_value_store.SetString("LAST_CHECKED_TIME",
+ base::NumberToString(status.last_checked_time));
+ key_value_store.SetString("PROGRESS", base::NumberToString(status.progress));
+ key_value_store.SetString("NEW_SIZE",
+ base::NumberToString(status.new_size_bytes));
+#endif
+ key_value_store.SetString("CURRENT_OPERATION",
+ UpdateStatusToString(status.status));
+ key_value_store.SetString("NEW_VERSION", status.new_version);
+ key_value_store.SetBoolean("IS_INSTALL", status.is_install);
+
+ return key_value_store.SaveToString();
+}
+
} // namespace chromeos_update_engine