#pragma once #include #include #include #include "launchercore.h" class LauncherCore; class QNetworkReply; class AssetUpdater : public QObject { Q_OBJECT public: explicit AssetUpdater(Profile &profile, LauncherCore &launcher, QObject *parent = nullptr); void update(); void beginInstall(); void checkIfCheckingIsDone(); void checkIfDalamudAssetsDone(); void checkIfFinished(); signals: void finishedUpdating(); private: LauncherCore &launcher; Profile::DalamudChannel chosenChannel; QString remoteDalamudVersion; QString remoteRuntimeVersion; QTemporaryDir tempDir; bool doneDownloadingDalamud = false; bool doneDownloadingRuntimeCore = false; bool doneDownloadingRuntimeDesktop = false; bool needsRuntimeInstall = false; bool needsDalamudInstall = false; int remoteDalamudAssetVersion = -1; QList dalamudAssetNeededFilenames; QJsonArray remoteDalamudAssetArray; QString dataDir; Profile &m_profile; };