Work towards liteloader support. Fix creating new instance

This commit is contained in:
Jan Dalheimer
2014-01-22 15:20:48 +01:00
parent d166b48072
commit 0a592ab99b
8 changed files with 123 additions and 84 deletions

View File

@ -19,21 +19,25 @@
#include <memory>
class DerpVersion;
class DerpInstance;
class QDir;
// TODO base class
class LiteLoaderInstaller
{
public:
LiteLoaderInstaller(const QString &mcVersion);
LiteLoaderInstaller();
bool canApply() const;
bool canApply(DerpInstance *instance) const;
bool isApplied(DerpInstance *on);
bool apply(std::shared_ptr<DerpVersion> to);
bool add(DerpInstance *to);
bool remove(DerpInstance *from);
private:
QString m_mcVersion;
void applyLaunchwrapper(std::shared_ptr<DerpVersion> to);
void applyLiteLoader(std::shared_ptr<DerpVersion> to);
virtual QString id() const { return "com.mumfrey.liteloader"; }
QString filename(const QString &root) const;
QDir patchesDir(const QString &root) const;
static QMap<QString, QString> m_launcherWrapperVersionMapping;
};