refactor: abstract metadata handling and clarify names
This commit is contained in:
@ -9,13 +9,15 @@
|
||||
#include "modplatform/ModIndex.h"
|
||||
#include "minecraft/mod/Mod.h"
|
||||
|
||||
namespace Packwiz {
|
||||
|
||||
// Helpers
|
||||
static inline QString indexFileName(QString const& mod_name)
|
||||
{
|
||||
return QString("%1.toml").arg(mod_name);
|
||||
}
|
||||
|
||||
auto Packwiz::createModFormat(QDir& index_dir, ModPlatform::IndexedPack& mod_pack, ModPlatform::IndexedVersion& mod_version) -> Mod
|
||||
auto V1::createModFormat(QDir& index_dir, ModPlatform::IndexedPack& mod_pack, ModPlatform::IndexedVersion& mod_version) -> Mod
|
||||
{
|
||||
Mod mod;
|
||||
|
||||
@ -33,7 +35,7 @@ auto Packwiz::createModFormat(QDir& index_dir, ModPlatform::IndexedPack& mod_pac
|
||||
return mod;
|
||||
}
|
||||
|
||||
auto Packwiz::createModFormat(QDir& index_dir, ::Mod& internal_mod) -> Mod
|
||||
auto V1::createModFormat(QDir& index_dir, ::Mod& internal_mod) -> Mod
|
||||
{
|
||||
auto mod_name = internal_mod.name();
|
||||
|
||||
@ -44,7 +46,7 @@ auto Packwiz::createModFormat(QDir& index_dir, ::Mod& internal_mod) -> Mod
|
||||
|
||||
// Manually construct packwiz mod
|
||||
mod.name = internal_mod.name();
|
||||
mod.filename = internal_mod.filename().fileName();
|
||||
mod.filename = internal_mod.fileinfo().fileName();
|
||||
|
||||
// TODO: Have a mechanism for telling the UI subsystem that we want to gather user information
|
||||
// (i.e. which mod provider we want to use). Maybe an object parameter with a signal for that?
|
||||
@ -52,7 +54,7 @@ auto Packwiz::createModFormat(QDir& index_dir, ::Mod& internal_mod) -> Mod
|
||||
return mod;
|
||||
}
|
||||
|
||||
void Packwiz::updateModIndex(QDir& index_dir, Mod& mod)
|
||||
void V1::updateModIndex(QDir& index_dir, Mod& mod)
|
||||
{
|
||||
if(!mod.isValid()){
|
||||
qCritical() << QString("Tried to update metadata of an invalid mod!");
|
||||
@ -94,7 +96,7 @@ void Packwiz::updateModIndex(QDir& index_dir, Mod& mod)
|
||||
}
|
||||
}
|
||||
|
||||
void Packwiz::deleteModIndex(QDir& index_dir, QString& mod_name)
|
||||
void V1::deleteModIndex(QDir& index_dir, QString& mod_name)
|
||||
{
|
||||
QFile index_file(index_dir.absoluteFilePath(indexFileName(mod_name)));
|
||||
|
||||
@ -108,7 +110,7 @@ void Packwiz::deleteModIndex(QDir& index_dir, QString& mod_name)
|
||||
}
|
||||
}
|
||||
|
||||
auto Packwiz::getIndexForMod(QDir& index_dir, QString& mod_name) -> Mod
|
||||
auto V1::getIndexForMod(QDir& index_dir, QString& mod_name) -> Mod
|
||||
{
|
||||
Mod mod;
|
||||
|
||||
@ -201,3 +203,5 @@ auto Packwiz::getIndexForMod(QDir& index_dir, QString& mod_name) -> Mod
|
||||
|
||||
return mod;
|
||||
}
|
||||
|
||||
} // namespace Packwiz
|
||||
|
@ -11,7 +11,9 @@ class QDir;
|
||||
// Mod from launcher/minecraft/mod/Mod.h
|
||||
class Mod;
|
||||
|
||||
class Packwiz {
|
||||
namespace Packwiz {
|
||||
|
||||
class V1 {
|
||||
public:
|
||||
struct Mod {
|
||||
QString name {};
|
||||
@ -58,3 +60,5 @@ class Packwiz {
|
||||
* */
|
||||
static auto getIndexForMod(QDir& index_dir, QString& mod_name) -> Mod;
|
||||
};
|
||||
|
||||
} // namespace Packwiz
|
||||
|
Reference in New Issue
Block a user