aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/PackProfile_p.h
blob: 0cd4fb8397d69b01d02cd0c8b975a77d24be55af (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
#pragma once

#include <QList>
#include <QMap>
#include <QTimer>
#include <map>
#include "Component.h"

class MinecraftInstance;
using ComponentContainer = QList<ComponentPtr>;
using ComponentIndex = QMap<QString, ComponentPtr>;

struct PackProfileData {
    // the instance this belongs to
    MinecraftInstance* m_instance;

    // the launch profile (volatile, temporary thing created on demand)
    std::shared_ptr<LaunchProfile> m_profile;

    // persistent list of components and related machinery
    ComponentContainer components;
    ComponentIndex componentIndex;
    bool dirty = false;
    QTimer m_saveTimer;
    Task::Ptr m_updateTask;
    bool loaded = false;
    bool interactionDisabled = true;
};