2014-05-09 20:46:25 +05:30
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <memory>
|
2014-05-10 05:23:32 +05:30
|
|
|
#include <QList>
|
2015-05-18 03:08:28 +05:30
|
|
|
#include <QJsonDocument>
|
2014-05-10 05:23:32 +05:30
|
|
|
#include "JarMod.h"
|
2014-05-09 20:46:25 +05:30
|
|
|
|
2015-01-28 03:01:07 +05:30
|
|
|
class MinecraftProfile;
|
|
|
|
class ProfilePatch
|
2014-05-09 20:46:25 +05:30
|
|
|
{
|
|
|
|
public:
|
2015-01-28 03:01:07 +05:30
|
|
|
virtual ~ProfilePatch(){};
|
|
|
|
virtual void applyTo(MinecraftProfile *version) = 0;
|
2015-05-18 03:08:28 +05:30
|
|
|
virtual QJsonDocument toJson(bool saveOrder) = 0;
|
2015-01-28 03:01:07 +05:30
|
|
|
|
2014-05-11 16:07:21 +05:30
|
|
|
virtual bool isMinecraftVersion() = 0;
|
2014-05-09 20:46:25 +05:30
|
|
|
virtual bool hasJarMods() = 0;
|
2014-05-10 05:23:32 +05:30
|
|
|
virtual QList<JarmodPtr> getJarMods() = 0;
|
2015-01-28 03:01:07 +05:30
|
|
|
|
2015-05-18 03:08:28 +05:30
|
|
|
virtual bool isMoveable() = 0;
|
|
|
|
virtual bool isCustomizable() = 0;
|
|
|
|
virtual bool isRevertible() = 0;
|
|
|
|
virtual bool isRemovable() = 0;
|
|
|
|
virtual bool isCustom() = 0;
|
|
|
|
virtual bool isEditable() = 0;
|
|
|
|
virtual bool isVersionChangeable() = 0;
|
|
|
|
|
2014-05-10 05:23:32 +05:30
|
|
|
virtual void setOrder(int order) = 0;
|
|
|
|
virtual int getOrder() = 0;
|
2015-01-28 03:01:07 +05:30
|
|
|
|
2014-05-10 05:23:32 +05:30
|
|
|
virtual QString getPatchID() = 0;
|
|
|
|
virtual QString getPatchName() = 0;
|
|
|
|
virtual QString getPatchVersion() = 0;
|
|
|
|
virtual QString getPatchFilename() = 0;
|
2014-05-09 20:46:25 +05:30
|
|
|
};
|
|
|
|
|
2015-01-28 03:01:07 +05:30
|
|
|
typedef std::shared_ptr<ProfilePatch> ProfilePatchPtr;
|