// SPDX-FileCopyrightText: 2023 Joshua Goins // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include class LauncherCore; class Profile; class GameInstaller : public QObject { Q_OBJECT QML_ELEMENT QML_UNCREATABLE("Use LauncherCore.createInstaller") public: GameInstaller(LauncherCore &launcher, Profile &profile, QObject *parent = nullptr); Q_INVOKABLE void installGame(); Q_SIGNALS: void installFinished(); void error(QString message); private: LauncherCore &m_launcher; Profile &m_profile; };