aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/ModIndex.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/modplatform/ModIndex.cpp')
-rw-r--r--launcher/modplatform/ModIndex.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/launcher/modplatform/ModIndex.cpp b/launcher/modplatform/ModIndex.cpp
index e8e4a38d..fc79dff1 100644
--- a/launcher/modplatform/ModIndex.cpp
+++ b/launcher/modplatform/ModIndex.cpp
@@ -24,6 +24,40 @@
namespace ModPlatform {
+static const QMap<QString, IndexedVersionType::VersionType> s_indexed_version_type_names = {
+ { "release", IndexedVersionType::VersionType::Release },
+ { "beta", IndexedVersionType::VersionType::Beta },
+ { "alpha", IndexedVersionType::VersionType::Alpha }
+};
+
+IndexedVersionType::IndexedVersionType(const QString& type) : IndexedVersionType(enumFromString(type)) {}
+
+IndexedVersionType::IndexedVersionType(const IndexedVersionType::VersionType& type)
+{
+ m_type = type;
+}
+
+IndexedVersionType::IndexedVersionType(const IndexedVersionType& other)
+{
+ m_type = other.m_type;
+}
+
+IndexedVersionType& IndexedVersionType::operator=(const IndexedVersionType& other)
+{
+ m_type = other.m_type;
+ return *this;
+}
+
+const QString IndexedVersionType::toString(const IndexedVersionType::VersionType& type)
+{
+ return s_indexed_version_type_names.key(type, "unknown");
+}
+
+IndexedVersionType::VersionType IndexedVersionType::enumFromString(const QString& type)
+{
+ return s_indexed_version_type_names.value(type, IndexedVersionType::VersionType::Unknown);
+}
+
auto ProviderCapabilities::name(ResourceProvider p) -> const char*
{
switch (p) {