wrap enum

This should improve the boilerplate needed to define enums with methods

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2026-02-19 22:20:31 +02:00
parent 323c25d83b
commit c8f23c691a
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318
22 changed files with 192 additions and 192 deletions

View file

@ -30,10 +30,6 @@ ModLoaderType operator|(ModLoaderType lhs, ModLoaderType rhs)
return static_cast<ModLoaderType>(static_cast<std::uint16_t>(lhs) | static_cast<std::uint16_t>(rhs));
}
static const QMap<QString, IndexedVersionType> s_indexed_version_type_names = { { "release", IndexedVersionType::Release },
{ "beta", IndexedVersionType::Beta },
{ "alpha", IndexedVersionType::Alpha } };
static const QList<ModLoaderType> loaderList = { NeoForge, Forge, Cauldron, LiteLoader, Quilt, Fabric,
Babric, BTA, LegacyFabric, Ornithe, Rift };
@ -48,16 +44,6 @@ QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags)
return flagList;
}
QString IndexedVersionType::toString() const
{
return s_indexed_version_type_names.key(m_type, "unknown");
}
IndexedVersionType IndexedVersionType::fromString(const QString& type)
{
return s_indexed_version_type_names.value(type, IndexedVersionType::Unknown);
}
const char* ProviderCapabilities::name(ResourceProvider p)
{
switch (p) {
@ -158,65 +144,4 @@ auto getModLoaderFromString(QString type) -> ModLoaderType
return {};
}
QString SideUtils::toString(Side side)
{
switch (side) {
case Side::ClientSide:
return "client";
case Side::ServerSide:
return "server";
case Side::UniversalSide:
return "both";
case Side::NoSide:
break;
}
return {};
}
Side SideUtils::fromString(QString side)
{
if (side == "client")
return Side::ClientSide;
if (side == "server")
return Side::ServerSide;
if (side == "both")
return Side::UniversalSide;
return Side::UniversalSide;
}
QString DependencyTypeUtils::toString(DependencyType type)
{
switch (type) {
case DependencyType::REQUIRED:
return "REQUIRED";
case DependencyType::OPTIONAL:
return "OPTIONAL";
case DependencyType::INCOMPATIBLE:
return "INCOMPATIBLE";
case DependencyType::EMBEDDED:
return "EMBEDDED";
case DependencyType::TOOL:
return "TOOL";
case DependencyType::INCLUDE:
return "INCLUDE";
case DependencyType::UNKNOWN:
return "UNKNOWN";
}
return "UNKNOWN";
}
DependencyType DependencyTypeUtils::fromString(const QString& str)
{
static const QHash<QString, DependencyType> map = {
{ "REQUIRED", DependencyType::REQUIRED },
{ "OPTIONAL", DependencyType::OPTIONAL },
{ "INCOMPATIBLE", DependencyType::INCOMPATIBLE },
{ "EMBEDDED", DependencyType::EMBEDDED },
{ "TOOL", DependencyType::TOOL },
{ "INCLUDE", DependencyType::INCLUDE },
{ "UNKNOWN", DependencyType::UNKNOWN },
};
return map.value(str.toUpper(), DependencyType::UNKNOWN);
}
} // namespace ModPlatform