38 lines
		
	
	
		
			729 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			729 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include "tasks/Task.h"
 | 
						|
#include "net/Mode.h"
 | 
						|
 | 
						|
#include <memory>
 | 
						|
class PackProfile;
 | 
						|
struct ComponentUpdateTaskData;
 | 
						|
 | 
						|
class ComponentUpdateTask : public Task
 | 
						|
{
 | 
						|
    Q_OBJECT
 | 
						|
public:
 | 
						|
    enum class Mode
 | 
						|
    {
 | 
						|
        Launch,
 | 
						|
        Resolution
 | 
						|
    };
 | 
						|
 | 
						|
public:
 | 
						|
    explicit ComponentUpdateTask(Mode mode, Net::Mode netmode, PackProfile * list, QObject *parent = 0);
 | 
						|
    virtual ~ComponentUpdateTask();
 | 
						|
 | 
						|
protected:
 | 
						|
    void executeTask();
 | 
						|
 | 
						|
private:
 | 
						|
    void loadComponents();
 | 
						|
    void resolveDependencies(bool checkOnly);
 | 
						|
 | 
						|
    void remoteLoadSucceeded(size_t index);
 | 
						|
    void remoteLoadFailed(size_t index, const QString &msg);
 | 
						|
    void checkIfAllFinished();
 | 
						|
 | 
						|
private:
 | 
						|
    std::unique_ptr<ComponentUpdateTaskData> d;
 | 
						|
};
 |