From: Tomasz Iwanek Date: Fri, 30 Oct 2015 13:24:51 +0000 (+0100) Subject: String to request map for recovery mode reading X-Git-Tag: accepted/tizen/mobile/20151117.005616~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F48%2F50748%2F2;p=platform%2Fcore%2Fappfw%2Fapp-installers.git String to request map for recovery mode reading Change-Id: I2459fff8606ad081d1bbf889556333c294e6a4e4 --- diff --git a/src/common/recovery_file.cc b/src/common/recovery_file.cc index c4d46f1..22f2671 100644 --- a/src/common/recovery_file.cc +++ b/src/common/recovery_file.cc @@ -9,10 +9,15 @@ #include #include +#include #include "common/installer_context.h" #include "common/utils/logging.h" +namespace bf = boost::filesystem; +namespace bs = boost::system; +namespace ci = common_installer; + namespace { const char kRecoveryNewInstallationString[] = "NEW"; @@ -22,6 +27,14 @@ const char kRecoveryRdsString[] = "RDS"; const char kRecoveryDeltaString[] = "DELTA"; const char kRecoveryUnknownString[] = "UNKNOWN"; +const std::map kStringToRequestMap = { + {kRecoveryNewInstallationString, ci::RequestType::Install}, + {kRecoveryUpdateInstallationString, ci::RequestType::Update}, + {kRecoveryUninstallationString, ci::RequestType::Uninstall}, + {kRecoveryRdsString, ci::RequestType::Reinstall}, + {kRecoveryDeltaString, ci::RequestType::Delta} +}; + std::string TruncateNewLine(const char* data) { int length = strlen(data); if (data[length - 1] == '\n') @@ -31,9 +44,6 @@ std::string TruncateNewLine(const char* data) { } // namespace -namespace bf = boost::filesystem; -namespace bs = boost::system; - namespace common_installer { namespace recovery { @@ -139,19 +149,13 @@ bool RecoveryFile::ReadFileContent() { return true; } std::string mode(TruncateNewLine(data.data())); - if (mode == kRecoveryNewInstallationString) { - type_ = RequestType::Install; - } else if (mode == kRecoveryUpdateInstallationString) { - type_ = RequestType::Update; - } else if (mode == kRecoveryUninstallationString) { - type_ = RequestType::Uninstall; - } else if (mode == kRecoveryRdsString) { - type_ = RequestType::Reinstall; - } else if (mode == kRecoveryDeltaString) { - type_ = RequestType::Delta; - } else { + auto iter = kStringToRequestMap.find(mode); + if (iter == kStringToRequestMap.end()) { type_ = RequestType::Unknown; + } else { + type_ = iter->second; } + if (!fgets(data.data(), data.size(), handle)) { fclose(handle); return true;