1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-20 11:47:46 +00:00
astra/src/xivlauncher.h
2021-11-02 08:27:00 -04:00

52 lines
1.1 KiB
C++
Executable file

#pragma once
#include <QMainWindow>
#include <QNetworkAccessManager>
#include <QFuture>
#include <QSettings>
class SapphireLauncher;
class SquareLauncher;
class SquareBoot;
struct LoginInformation {
QString username, password, oneTimePassword;
};
struct LoginAuth {
QString SID;
int region = 2; // america?
int maxExpansion = 1;
// if empty, dont set on the client
QString lobbyhost, frontierHost;
};
class LauncherWindow : public QMainWindow {
Q_OBJECT
public:
explicit LauncherWindow(QWidget* parent = nullptr);
~LauncherWindow() override;
QNetworkAccessManager* mgr;
int language = 1; // 1 is english, thats all i know
QString gamePath;
QString bootVersion, gameVersion;
bool useEsync, useGamescope, useGamemode;
void launch(const LoginAuth auth);
void buildRequest(QNetworkRequest& request);
void setSSL(QNetworkRequest& request);
QString readVersion(QString path);
void readInitialInformation();
QSettings settings;
private:
SapphireLauncher* sapphireLauncher;
SquareBoot* squareBoot;
SquareLauncher* squareLauncher;
};