// SPDX-FileCopyrightText: 2023 Joshua Goins // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include "launchercore.h" #include "patcher.h" class SquareLauncher : public QObject { Q_OBJECT public: explicit SquareLauncher(LauncherCore &window, QObject *parent = nullptr); QCoro::Task<> login(const LoginInformation &info); private: using StoredInfo = std::pair; QCoro::Task> getStored(const LoginInformation &info); QCoro::Task<> registerSession(const LoginInformation &info); static QCoro::Task getBootHash(const LoginInformation &info); Patcher *m_patcher = nullptr; QString m_SID, m_username; LoginAuth m_auth; LauncherCore &m_launcher; };