summaryrefslogtreecommitdiffstats
path: root/api/logic/modplatform/ftb/FtbPackDownloader.h
blob: cf7eb567cb859a36e4d6e850dd3eb5149888e1d7 (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
31
32
33
34
35
36
37
38
39
#include <QString>
#include <QUrl>
#include <QList>
#include <QObject>
#include "FtbPackFetchTask.h"
#include "tasks/Task.h"
#include "net/NetJob.h"

#include "PackHelpers.h"
#include "Env.h"

#pragma once

class MULTIMC_LOGIC_EXPORT FtbPackDownloader : public QObject
{
	Q_OBJECT

public:
	FtbPackDownloader();
	virtual ~FtbPackDownloader();

	void fetchModpacks(bool force);
	FtbModpackList getModpacks();

signals:
	void ready();
	void packFetchFailed();

private slots:
	void fetchSuccess(FtbModpackList modlist);
	void fetchFailed(QString reason);

private:
	QMap<QString, FtbModpack> fetchedPacks;
	bool fetching = false;
	bool done = false;

	FtbPackFetchTask *fetchTask = 0;
};