Change image_manager.cpp to accept the correct purpose
Change-Id: If8961a8582f1d25fa4275d915795beb50366060f
Signed-off-by: Leonel Gonzalez <lgonzalez@us.ibm.com>
diff --git a/image_manager.cpp b/image_manager.cpp
index 605050c..eaf2e6d 100644
--- a/image_manager.cpp
+++ b/image_manager.cpp
@@ -128,24 +128,11 @@
return -1;
}
- std::transform(purposeString.begin(), purposeString.end(),
- purposeString.begin(), ::tolower);
auto purpose = Version::VersionPurpose::Unknown;
- if (purposeString.compare("bmc") == 0)
- {
- purpose = Version::VersionPurpose::BMC;
- }
- else if (purposeString.compare("host") == 0)
- {
- purpose = Version::VersionPurpose::Host;
- }
- else if (purposeString.compare("system") == 0)
- {
- purpose = Version::VersionPurpose::System;
- }
- else if (purposeString.compare("other") == 0)
- {
- purpose = Version::VersionPurpose::Other;
+ try {
+ purpose = Version::convertVersionPurposeFromString(purposeString);
+ } catch (const sdbusplus::exception::InvalidEnumString& e) {
+ log<level::ERR>("Error: Failed to convert manifest purpose to enum. Setting to Unknown.");
}
// Compute id