summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/ProfileStrategy.h
blob: 364458f5ae171265c2f76b960f1581ab97535e39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "ProfileUtils.h"

class MinecraftProfile;

class ProfileStrategy
{
	friend class MinecraftProfile;
public:
	virtual ~ProfileStrategy(){};

	/// load the patch files into the profile
	virtual void load() = 0;

	/// reset the order of patches
	virtual bool resetOrder() = 0;

	/// save the order of patches, given the order
	virtual bool saveOrder(ProfileUtils::PatchOrder order) = 0;

	/// install a list of jar mods into the instance
	virtual bool installJarMods(QStringList filepaths) = 0;

	/// remove any files or records that constitute the version patch
	virtual bool removePatch(ProfilePatchPtr jarMod) = 0;

protected:
	MinecraftProfile *profile;
};