Move UpdateStatus and helpers to dedicated files
This allows us to easily share it between the update_engine proper
and a forthcoming client library.
Bug: 24547247
Test: mmm system/update_engine; emerge-panther update_engine
Change-Id: I8c0db7a0f95dd6368bfc886f1b0d1a9d2efb461f
diff --git a/update_status_utils.cc b/update_status_utils.cc
new file mode 100644
index 0000000..c1504fd
--- /dev/null
+++ b/update_status_utils.cc
@@ -0,0 +1,53 @@
+//
+// Copyright (C) 2015 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#include "update_engine/update_status_utils.h"
+
+#include <base/logging.h>
+#include <update_engine/dbus-constants.h>
+
+using update_engine::UpdateStatus;
+
+namespace chromeos_update_engine {
+
+const char* UpdateStatusToString(const UpdateStatus& status) {
+ switch (status) {
+ case UpdateStatus::IDLE:
+ return update_engine::kUpdateStatusIdle;
+ case UpdateStatus::CHECKING_FOR_UPDATE:
+ return update_engine::kUpdateStatusCheckingForUpdate;
+ case UpdateStatus::UPDATE_AVAILABLE:
+ return update_engine::kUpdateStatusUpdateAvailable;
+ case UpdateStatus::DOWNLOADING:
+ return update_engine::kUpdateStatusDownloading;
+ case UpdateStatus::VERIFYING:
+ return update_engine::kUpdateStatusVerifying;
+ case UpdateStatus::FINALIZING:
+ return update_engine::kUpdateStatusFinalizing;
+ case UpdateStatus::UPDATED_NEED_REBOOT:
+ return update_engine::kUpdateStatusUpdatedNeedReboot;
+ case UpdateStatus::REPORTING_ERROR_EVENT:
+ return update_engine::kUpdateStatusReportingErrorEvent;
+ case UpdateStatus::ATTEMPTING_ROLLBACK:
+ return update_engine::kUpdateStatusAttemptingRollback;
+ case UpdateStatus::DISABLED:
+ return update_engine::kUpdateStatusDisabled;
+ }
+
+ NOTREACHED();
+ return nullptr;
+}
+
+} // namespace chromeos_update_engine