feat: add verion_type / release_type to IndexedVersion

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
Rachel Powers
2023-05-26 13:50:22 -07:00
parent f24211e8b5
commit c156034069
5 changed files with 93 additions and 3 deletions

View File

@ -24,6 +24,56 @@
namespace ModPlatform {
static const QMap<QString, IndexedVersionType::Enum> s_indexed_version_type_names = {
{"release", IndexedVersionType::Enum::Release},
{"beta", IndexedVersionType::Enum::Beta},
{"alpha", IndexedVersionType::Enum::Alpha}
};
IndexedVersionType::IndexedVersionType(const QString& type): IndexedVersionType(enumFromString(type))
{}
IndexedVersionType::IndexedVersionType(int type)
{
m_type = static_cast<IndexedVersionType::Enum>(type);
}
IndexedVersionType::IndexedVersionType(const IndexedVersionType::Enum& type)
{
m_type = type;
}
IndexedVersionType::IndexedVersionType(const IndexedVersionType& other)
{
m_type = other.m_type;
}
const QString IndexedVersionType::toString (const IndexedVersionType::Enum& type)
{
switch (type) {
case IndexedVersionType::Enum::Release:
return "release";
case IndexedVersionType::Enum::Beta:
return "beta";
case IndexedVersionType::Enum::Alpha:
return "alpha";
case IndexedVersionType::Enum::UNKNOWN:
default:
return "unknown";
}
}
const IndexedVersionType::Enum IndexedVersionType::enumFromString(const QString& type)
{
auto found = s_indexed_version_type_names.constFind(type);
if (found != s_indexed_version_type_names.constEnd()) {
return *found;
} else {
return IndexedVersionType::Enum::UNKNOWN;
}
}
auto ProviderCapabilities::name(ResourceProvider p) -> const char*
{
switch (p) {