Move webservice settings to own file
This commit is contained in:
parent
88a4759702
commit
fa0cb52a5d
14 changed files with 104 additions and 76 deletions
|
@ -18,6 +18,7 @@
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
#include "input_common/main.h"
|
#include "input_common/main.h"
|
||||||
#include "input_common/udp/client.h"
|
#include "input_common/udp/client.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
|
|
||||||
Config::Config() {
|
Config::Config() {
|
||||||
// TODO: Don't hardcode the path; let the frontend decide where to put the config files.
|
// TODO: Don't hardcode the path; let the frontend decide where to put the config files.
|
||||||
|
@ -275,12 +276,12 @@ void Config::ReadValues() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Web Service
|
// Web Service
|
||||||
Settings::values.enable_telemetry =
|
NetSettings::values.enable_telemetry =
|
||||||
sdl2_config->GetBoolean("WebService", "enable_telemetry", true);
|
sdl2_config->GetBoolean("WebService", "enable_telemetry", true);
|
||||||
Settings::values.web_api_url =
|
NetSettings::values.web_api_url =
|
||||||
sdl2_config->GetString("WebService", "web_api_url", "https://api.citra-emu.org");
|
sdl2_config->GetString("WebService", "web_api_url", "https://api.citra-emu.org");
|
||||||
Settings::values.citra_username = sdl2_config->GetString("WebService", "citra_username", "");
|
NetSettings::values.citra_username = sdl2_config->GetString("WebService", "citra_username", "");
|
||||||
Settings::values.citra_token = sdl2_config->GetString("WebService", "citra_token", "");
|
NetSettings::values.citra_token = sdl2_config->GetString("WebService", "citra_token", "");
|
||||||
|
|
||||||
// Video Dumping
|
// Video Dumping
|
||||||
Settings::values.output_format =
|
Settings::values.output_format =
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "input_common/main.h"
|
#include "input_common/main.h"
|
||||||
#include "input_common/udp/client.h"
|
#include "input_common/udp/client.h"
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
|
|
||||||
Config::Config() {
|
Config::Config() {
|
||||||
// TODO: Don't hardcode the path; let the frontend decide where to put the config files.
|
// TODO: Don't hardcode the path; let the frontend decide where to put the config files.
|
||||||
|
@ -702,15 +703,15 @@ void Config::ReadUpdaterValues() {
|
||||||
void Config::ReadWebServiceValues() {
|
void Config::ReadWebServiceValues() {
|
||||||
qt_config->beginGroup(QStringLiteral("WebService"));
|
qt_config->beginGroup(QStringLiteral("WebService"));
|
||||||
|
|
||||||
Settings::values.enable_telemetry =
|
NetSettings::values.enable_telemetry =
|
||||||
ReadSetting(QStringLiteral("enable_telemetry"), true).toBool();
|
ReadSetting(QStringLiteral("enable_telemetry"), true).toBool();
|
||||||
Settings::values.web_api_url =
|
NetSettings::values.web_api_url =
|
||||||
ReadSetting(QStringLiteral("web_api_url"), QStringLiteral("https://api.citra-emu.org"))
|
ReadSetting(QStringLiteral("web_api_url"), QStringLiteral("https://api.citra-emu.org"))
|
||||||
.toString()
|
.toString()
|
||||||
.toStdString();
|
.toStdString();
|
||||||
Settings::values.citra_username =
|
NetSettings::values.citra_username =
|
||||||
ReadSetting(QStringLiteral("citra_username")).toString().toStdString();
|
ReadSetting(QStringLiteral("citra_username")).toString().toStdString();
|
||||||
Settings::values.citra_token =
|
NetSettings::values.citra_token =
|
||||||
ReadSetting(QStringLiteral("citra_token")).toString().toStdString();
|
ReadSetting(QStringLiteral("citra_token")).toString().toStdString();
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
@ -1160,14 +1161,14 @@ void Config::SaveUpdaterValues() {
|
||||||
void Config::SaveWebServiceValues() {
|
void Config::SaveWebServiceValues() {
|
||||||
qt_config->beginGroup(QStringLiteral("WebService"));
|
qt_config->beginGroup(QStringLiteral("WebService"));
|
||||||
|
|
||||||
WriteSetting(QStringLiteral("enable_telemetry"), Settings::values.enable_telemetry, true);
|
WriteSetting(QStringLiteral("enable_telemetry"), NetSettings::values.enable_telemetry, true);
|
||||||
WriteSetting(QStringLiteral("web_api_url"),
|
WriteSetting(QStringLiteral("web_api_url"),
|
||||||
QString::fromStdString(Settings::values.web_api_url),
|
QString::fromStdString(NetSettings::values.web_api_url),
|
||||||
QStringLiteral("https://api.citra-emu.org"));
|
QStringLiteral("https://api.citra-emu.org"));
|
||||||
WriteSetting(QStringLiteral("citra_username"),
|
WriteSetting(QStringLiteral("citra_username"),
|
||||||
QString::fromStdString(Settings::values.citra_username));
|
QString::fromStdString(NetSettings::values.citra_username));
|
||||||
WriteSetting(QStringLiteral("citra_token"),
|
WriteSetting(QStringLiteral("citra_token"),
|
||||||
QString::fromStdString(Settings::values.citra_token));
|
QString::fromStdString(NetSettings::values.citra_token));
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
#include <QtConcurrent/QtConcurrentRun>
|
#include <QtConcurrent/QtConcurrentRun>
|
||||||
#include "citra_qt/configuration/configure_web.h"
|
#include "citra_qt/configuration/configure_web.h"
|
||||||
#include "citra_qt/uisettings.h"
|
#include "citra_qt/uisettings.h"
|
||||||
#include "core/settings.h"
|
|
||||||
#include "core/telemetry_session.h"
|
#include "core/telemetry_session.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
#include "ui_configure_web.h"
|
#include "ui_configure_web.h"
|
||||||
|
|
||||||
static constexpr char token_delimiter{':'};
|
static constexpr char token_delimiter{':'};
|
||||||
|
@ -70,16 +70,16 @@ void ConfigureWeb::SetConfiguration() {
|
||||||
tr("<a href='https://citra-emu.org/wiki/citra-web-service/'><span style=\"text-decoration: "
|
tr("<a href='https://citra-emu.org/wiki/citra-web-service/'><span style=\"text-decoration: "
|
||||||
"underline; color:#039be5;\">What is my token?</span></a>"));
|
"underline; color:#039be5;\">What is my token?</span></a>"));
|
||||||
|
|
||||||
ui->toggle_telemetry->setChecked(Settings::values.enable_telemetry);
|
ui->toggle_telemetry->setChecked(NetSettings::values.enable_telemetry);
|
||||||
|
|
||||||
if (Settings::values.citra_username.empty()) {
|
if (NetSettings::values.citra_username.empty()) {
|
||||||
ui->username->setText(tr("Unspecified"));
|
ui->username->setText(tr("Unspecified"));
|
||||||
} else {
|
} else {
|
||||||
ui->username->setText(QString::fromStdString(Settings::values.citra_username));
|
ui->username->setText(QString::fromStdString(NetSettings::values.citra_username));
|
||||||
}
|
}
|
||||||
|
|
||||||
ui->edit_token->setText(QString::fromStdString(
|
ui->edit_token->setText(QString::fromStdString(
|
||||||
GenerateDisplayToken(Settings::values.citra_username, Settings::values.citra_token)));
|
GenerateDisplayToken(NetSettings::values.citra_username, NetSettings::values.citra_token)));
|
||||||
|
|
||||||
// Connect after setting the values, to avoid calling OnLoginChanged now
|
// Connect after setting the values, to avoid calling OnLoginChanged now
|
||||||
connect(ui->edit_token, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged);
|
connect(ui->edit_token, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged);
|
||||||
|
@ -91,12 +91,13 @@ void ConfigureWeb::SetConfiguration() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureWeb::ApplyConfiguration() {
|
void ConfigureWeb::ApplyConfiguration() {
|
||||||
Settings::values.enable_telemetry = ui->toggle_telemetry->isChecked();
|
NetSettings::values.enable_telemetry = ui->toggle_telemetry->isChecked();
|
||||||
UISettings::values.enable_discord_presence = ui->toggle_discordrpc->isChecked();
|
UISettings::values.enable_discord_presence = ui->toggle_discordrpc->isChecked();
|
||||||
if (user_verified) {
|
if (user_verified) {
|
||||||
Settings::values.citra_username =
|
NetSettings::values.citra_username =
|
||||||
UsernameFromDisplayToken(ui->edit_token->text().toStdString());
|
UsernameFromDisplayToken(ui->edit_token->text().toStdString());
|
||||||
Settings::values.citra_token = TokenFromDisplayToken(ui->edit_token->text().toStdString());
|
NetSettings::values.citra_token =
|
||||||
|
TokenFromDisplayToken(ui->edit_token->text().toStdString());
|
||||||
} else {
|
} else {
|
||||||
QMessageBox::warning(
|
QMessageBox::warning(
|
||||||
this, tr("Token not verified"),
|
this, tr("Token not verified"),
|
||||||
|
|
|
@ -85,6 +85,7 @@
|
||||||
#include "core/savestate.h"
|
#include "core/savestate.h"
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
#include "game_list_p.h"
|
#include "game_list_p.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
#include "ui_main.h"
|
#include "ui_main.h"
|
||||||
#include "video_core/renderer_base.h"
|
#include "video_core/renderer_base.h"
|
||||||
#include "video_core/video_core.h"
|
#include "video_core/video_core.h"
|
||||||
|
@ -130,7 +131,7 @@ void GMainWindow::ShowTelemetryCallout() {
|
||||||
"data is collected</a> to help improve Citra. "
|
"data is collected</a> to help improve Citra. "
|
||||||
"<br/><br/>Would you like to share your usage data with us?");
|
"<br/><br/>Would you like to share your usage data with us?");
|
||||||
if (QMessageBox::question(this, tr("Telemetry"), telemetry_message) != QMessageBox::Yes) {
|
if (QMessageBox::question(this, tr("Telemetry"), telemetry_message) != QMessageBox::Yes) {
|
||||||
Settings::values.enable_telemetry = false;
|
NetSettings::values.enable_telemetry = false;
|
||||||
Settings::Apply();
|
Settings::Apply();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1623,7 +1624,7 @@ void GMainWindow::OnLoadComplete() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::OnMenuReportCompatibility() {
|
void GMainWindow::OnMenuReportCompatibility() {
|
||||||
if (!Settings::values.citra_token.empty() && !Settings::values.citra_username.empty()) {
|
if (!NetSettings::values.citra_token.empty() && !NetSettings::values.citra_username.empty()) {
|
||||||
CompatDB compatdb{this};
|
CompatDB compatdb{this};
|
||||||
compatdb.exec();
|
compatdb.exec();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
#include "citra_qt/multiplayer/validation.h"
|
#include "citra_qt/multiplayer/validation.h"
|
||||||
#include "citra_qt/uisettings.h"
|
#include "citra_qt/uisettings.h"
|
||||||
#include "core/hle/service/cfg/cfg.h"
|
#include "core/hle/service/cfg/cfg.h"
|
||||||
#include "core/settings.h"
|
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
#include "ui_direct_connect.h"
|
#include "ui_direct_connect.h"
|
||||||
|
|
||||||
enum class ConnectionType : u8 { TraversalServer, IP };
|
enum class ConnectionType : u8 { TraversalServer, IP };
|
||||||
|
@ -34,9 +34,9 @@ DirectConnectWindow::DirectConnectWindow(QWidget* parent)
|
||||||
|
|
||||||
ui->nickname->setValidator(validation.GetNickname());
|
ui->nickname->setValidator(validation.GetNickname());
|
||||||
ui->nickname->setText(UISettings::values.nickname);
|
ui->nickname->setText(UISettings::values.nickname);
|
||||||
if (ui->nickname->text().isEmpty() && !Settings::values.citra_username.empty()) {
|
if (ui->nickname->text().isEmpty() && !NetSettings::values.citra_username.empty()) {
|
||||||
// Use Citra Web Service user name as nickname by default
|
// Use Citra Web Service user name as nickname by default
|
||||||
ui->nickname->setText(QString::fromStdString(Settings::values.citra_username));
|
ui->nickname->setText(QString::fromStdString(NetSettings::values.citra_username));
|
||||||
}
|
}
|
||||||
ui->ip->setValidator(validation.GetIP());
|
ui->ip->setValidator(validation.GetIP());
|
||||||
ui->ip->setText(UISettings::values.ip);
|
ui->ip->setText(UISettings::values.ip);
|
||||||
|
@ -92,7 +92,6 @@ void DirectConnectWindow::Connect() {
|
||||||
UISettings::values.port = (ui->port->isModified() && !ui->port->text().isEmpty())
|
UISettings::values.port = (ui->port->isModified() && !ui->port->text().isEmpty())
|
||||||
? ui->port->text()
|
? ui->port->text()
|
||||||
: UISettings::values.port;
|
: UISettings::values.port;
|
||||||
Settings::Apply();
|
|
||||||
|
|
||||||
// attempt to connect in a different thread
|
// attempt to connect in a different thread
|
||||||
QFuture<void> f = QtConcurrent::run([&] {
|
QFuture<void> f = QtConcurrent::run([&] {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "core/announce_multiplayer_session.h"
|
#include "core/announce_multiplayer_session.h"
|
||||||
#include "core/hle/service/cfg/cfg.h"
|
#include "core/hle/service/cfg/cfg.h"
|
||||||
#include "core/settings.h"
|
#include "network/network_settings.h"
|
||||||
#include "ui_host_room.h"
|
#include "ui_host_room.h"
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
#include "web_service/verify_user_jwt.h"
|
#include "web_service/verify_user_jwt.h"
|
||||||
|
@ -53,9 +53,9 @@ HostRoomWindow::HostRoomWindow(QWidget* parent, QStandardItemModel* list,
|
||||||
|
|
||||||
// Restore the settings:
|
// Restore the settings:
|
||||||
ui->username->setText(UISettings::values.room_nickname);
|
ui->username->setText(UISettings::values.room_nickname);
|
||||||
if (ui->username->text().isEmpty() && !Settings::values.citra_username.empty()) {
|
if (ui->username->text().isEmpty() && !NetSettings::values.citra_username.empty()) {
|
||||||
// Use Citra Web Service user name as nickname by default
|
// Use Citra Web Service user name as nickname by default
|
||||||
ui->username->setText(QString::fromStdString(Settings::values.citra_username));
|
ui->username->setText(QString::fromStdString(NetSettings::values.citra_username));
|
||||||
}
|
}
|
||||||
ui->room_name->setText(UISettings::values.room_name);
|
ui->room_name->setText(UISettings::values.room_name);
|
||||||
ui->port->setText(UISettings::values.room_port);
|
ui->port->setText(UISettings::values.room_port);
|
||||||
|
@ -92,7 +92,8 @@ std::unique_ptr<Network::VerifyUser::Backend> HostRoomWindow::CreateVerifyBacken
|
||||||
std::unique_ptr<Network::VerifyUser::Backend> verify_backend;
|
std::unique_ptr<Network::VerifyUser::Backend> verify_backend;
|
||||||
if (use_validation) {
|
if (use_validation) {
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
verify_backend = std::make_unique<WebService::VerifyUserJWT>(Settings::values.web_api_url);
|
verify_backend =
|
||||||
|
std::make_unique<WebService::VerifyUserJWT>(NetSettings::values.web_api_url);
|
||||||
#else
|
#else
|
||||||
verify_backend = std::make_unique<Network::VerifyUser::NullBackend>();
|
verify_backend = std::make_unique<Network::VerifyUser::NullBackend>();
|
||||||
#endif
|
#endif
|
||||||
|
@ -144,7 +145,7 @@ void HostRoomWindow::Host() {
|
||||||
bool created = room->Create(ui->room_name->text().toStdString(),
|
bool created = room->Create(ui->room_name->text().toStdString(),
|
||||||
ui->room_description->toPlainText().toStdString(), "", port,
|
ui->room_description->toPlainText().toStdString(), "", port,
|
||||||
password, ui->max_player->value(),
|
password, ui->max_player->value(),
|
||||||
Settings::values.citra_username, game_name.toStdString(),
|
NetSettings::values.citra_username, game_name.toStdString(),
|
||||||
game_id, CreateVerifyBackend(is_public), ban_list);
|
game_id, CreateVerifyBackend(is_public), ban_list);
|
||||||
if (!created) {
|
if (!created) {
|
||||||
NetworkMessage::ErrorManager::ShowError(
|
NetworkMessage::ErrorManager::ShowError(
|
||||||
|
@ -182,8 +183,9 @@ void HostRoomWindow::Host() {
|
||||||
std::string token;
|
std::string token;
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
if (is_public) {
|
if (is_public) {
|
||||||
WebService::Client client(Settings::values.web_api_url, Settings::values.citra_username,
|
WebService::Client client(NetSettings::values.web_api_url,
|
||||||
Settings::values.citra_token);
|
NetSettings::values.citra_username,
|
||||||
|
NetSettings::values.citra_token);
|
||||||
if (auto room = Network::GetRoom().lock()) {
|
if (auto room = Network::GetRoom().lock()) {
|
||||||
token = client.GetExternalJWT(room->GetVerifyUID()).returned_data;
|
token = client.GetExternalJWT(room->GetVerifyUID()).returned_data;
|
||||||
}
|
}
|
||||||
|
@ -210,7 +212,6 @@ void HostRoomWindow::Host() {
|
||||||
? ui->port->text()
|
? ui->port->text()
|
||||||
: QString::number(Network::DefaultRoomPort);
|
: QString::number(Network::DefaultRoomPort);
|
||||||
UISettings::values.room_description = ui->room_description->toPlainText();
|
UISettings::values.room_description = ui->room_description->toPlainText();
|
||||||
Settings::Apply();
|
|
||||||
ui->host->setEnabled(true);
|
ui->host->setEnabled(true);
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
#include "citra_qt/uisettings.h"
|
#include "citra_qt/uisettings.h"
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "core/hle/service/cfg/cfg.h"
|
#include "core/hle/service/cfg/cfg.h"
|
||||||
#include "core/settings.h"
|
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
#include "ui_lobby.h"
|
#include "ui_lobby.h"
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
#include "web_service/web_backend.h"
|
#include "web_service/web_backend.h"
|
||||||
|
@ -58,9 +58,9 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list,
|
||||||
|
|
||||||
ui->nickname->setValidator(validation.GetNickname());
|
ui->nickname->setValidator(validation.GetNickname());
|
||||||
ui->nickname->setText(UISettings::values.nickname);
|
ui->nickname->setText(UISettings::values.nickname);
|
||||||
if (ui->nickname->text().isEmpty() && !Settings::values.citra_username.empty()) {
|
if (ui->nickname->text().isEmpty() && !NetSettings::values.citra_username.empty()) {
|
||||||
// Use Citra Web Service user name as nickname by default
|
// Use Citra Web Service user name as nickname by default
|
||||||
ui->nickname->setText(QString::fromStdString(Settings::values.citra_username));
|
ui->nickname->setText(QString::fromStdString(NetSettings::values.citra_username));
|
||||||
}
|
}
|
||||||
|
|
||||||
// UI Buttons
|
// UI Buttons
|
||||||
|
@ -155,9 +155,11 @@ void Lobby::OnJoinRoom(const QModelIndex& source) {
|
||||||
QFuture<void> f = QtConcurrent::run([nickname, ip, port, password, verify_UID] {
|
QFuture<void> f = QtConcurrent::run([nickname, ip, port, password, verify_UID] {
|
||||||
std::string token;
|
std::string token;
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
if (!Settings::values.citra_username.empty() && !Settings::values.citra_token.empty()) {
|
if (!NetSettings::values.citra_username.empty() &&
|
||||||
WebService::Client client(Settings::values.web_api_url, Settings::values.citra_username,
|
!NetSettings::values.citra_token.empty()) {
|
||||||
Settings::values.citra_token);
|
WebService::Client client(NetSettings::values.web_api_url,
|
||||||
|
NetSettings::values.citra_username,
|
||||||
|
NetSettings::values.citra_token);
|
||||||
token = client.GetExternalJWT(verify_UID).returned_data;
|
token = client.GetExternalJWT(verify_UID).returned_data;
|
||||||
if (token.empty()) {
|
if (token.empty()) {
|
||||||
LOG_ERROR(WebService, "Could not get external JWT, verification may fail");
|
LOG_ERROR(WebService, "Could not get external JWT, verification may fail");
|
||||||
|
@ -179,7 +181,6 @@ void Lobby::OnJoinRoom(const QModelIndex& source) {
|
||||||
UISettings::values.nickname = ui->nickname->text();
|
UISettings::values.nickname = ui->nickname->text();
|
||||||
UISettings::values.ip = proxy->data(connection_index, LobbyItemHost::HostIPRole).toString();
|
UISettings::values.ip = proxy->data(connection_index, LobbyItemHost::HostIPRole).toString();
|
||||||
UISettings::values.port = proxy->data(connection_index, LobbyItemHost::HostPortRole).toString();
|
UISettings::values.port = proxy->data(connection_index, LobbyItemHost::HostPortRole).toString();
|
||||||
Settings::Apply();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lobby::ResetModel() {
|
void Lobby::ResetModel() {
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
#include "announce_multiplayer_session.h"
|
#include "announce_multiplayer_session.h"
|
||||||
#include "common/announce_multiplayer_room.h"
|
#include "common/announce_multiplayer_room.h"
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "core/settings.h"
|
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
|
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
#include "web_service/announce_room_json.h"
|
#include "web_service/announce_room_json.h"
|
||||||
|
@ -22,9 +22,9 @@ static constexpr std::chrono::seconds announce_time_interval(15);
|
||||||
|
|
||||||
AnnounceMultiplayerSession::AnnounceMultiplayerSession() {
|
AnnounceMultiplayerSession::AnnounceMultiplayerSession() {
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
backend = std::make_unique<WebService::RoomJson>(Settings::values.web_api_url,
|
backend = std::make_unique<WebService::RoomJson>(NetSettings::values.web_api_url,
|
||||||
Settings::values.citra_username,
|
NetSettings::values.citra_username,
|
||||||
Settings::values.citra_token);
|
NetSettings::values.citra_token);
|
||||||
#else
|
#else
|
||||||
backend = std::make_unique<AnnounceMultiplayerRoom::NullBackend>();
|
backend = std::make_unique<AnnounceMultiplayerRoom::NullBackend>();
|
||||||
#endif
|
#endif
|
||||||
|
@ -155,9 +155,9 @@ void AnnounceMultiplayerSession::UpdateCredentials() {
|
||||||
ASSERT_MSG(!IsRunning(), "Credentials can only be updated when session is not running");
|
ASSERT_MSG(!IsRunning(), "Credentials can only be updated when session is not running");
|
||||||
|
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
backend = std::make_unique<WebService::RoomJson>(Settings::values.web_api_url,
|
backend = std::make_unique<WebService::RoomJson>(NetSettings::values.web_api_url,
|
||||||
Settings::values.citra_username,
|
NetSettings::values.citra_username,
|
||||||
Settings::values.citra_token);
|
NetSettings::values.citra_token);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -230,12 +230,6 @@ struct Values {
|
||||||
std::string log_filter;
|
std::string log_filter;
|
||||||
std::unordered_map<std::string, bool> lle_modules;
|
std::unordered_map<std::string, bool> lle_modules;
|
||||||
|
|
||||||
// WebService
|
|
||||||
bool enable_telemetry;
|
|
||||||
std::string web_api_url;
|
|
||||||
std::string citra_username;
|
|
||||||
std::string citra_token;
|
|
||||||
|
|
||||||
// Video Dumping
|
// Video Dumping
|
||||||
std::string output_format;
|
std::string output_format;
|
||||||
std::string format_options;
|
std::string format_options;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
#include "core/telemetry_session.h"
|
#include "core/telemetry_session.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
|
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
#include "web_service/telemetry_json.h"
|
#include "web_service/telemetry_json.h"
|
||||||
|
@ -70,7 +71,7 @@ u64 RegenerateTelemetryId() {
|
||||||
|
|
||||||
bool VerifyLogin(const std::string& username, const std::string& token) {
|
bool VerifyLogin(const std::string& username, const std::string& token) {
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
return WebService::VerifyLogin(Settings::values.web_api_url, username, token);
|
return WebService::VerifyLogin(NetSettings::values.web_api_url, username, token);
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
@ -86,16 +87,16 @@ TelemetrySession::~TelemetrySession() {
|
||||||
AddField(Telemetry::FieldType::Session, "Shutdown_Time", shutdown_time);
|
AddField(Telemetry::FieldType::Session, "Shutdown_Time", shutdown_time);
|
||||||
|
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
auto backend = std::make_unique<WebService::TelemetryJson>(Settings::values.web_api_url,
|
auto backend = std::make_unique<WebService::TelemetryJson>(NetSettings::values.web_api_url,
|
||||||
Settings::values.citra_username,
|
NetSettings::values.citra_username,
|
||||||
Settings::values.citra_token);
|
NetSettings::values.citra_token);
|
||||||
#else
|
#else
|
||||||
auto backend = std::make_unique<Telemetry::NullVisitor>();
|
auto backend = std::make_unique<Telemetry::NullVisitor>();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Complete the session, submitting to the web service backend if necessary
|
// Complete the session, submitting to the web service backend if necessary
|
||||||
field_collection.Accept(*backend);
|
field_collection.Accept(*backend);
|
||||||
if (Settings::values.enable_telemetry) {
|
if (NetSettings::values.enable_telemetry) {
|
||||||
backend->Complete();
|
backend->Complete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -154,9 +155,9 @@ void TelemetrySession::AddInitialInfo(Loader::AppLoader& app_loader) {
|
||||||
|
|
||||||
bool TelemetrySession::SubmitTestcase() {
|
bool TelemetrySession::SubmitTestcase() {
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
auto backend = std::make_unique<WebService::TelemetryJson>(Settings::values.web_api_url,
|
auto backend = std::make_unique<WebService::TelemetryJson>(NetSettings::values.web_api_url,
|
||||||
Settings::values.citra_username,
|
NetSettings::values.citra_username,
|
||||||
Settings::values.citra_token);
|
NetSettings::values.citra_token);
|
||||||
field_collection.Accept(*backend);
|
field_collection.Accept(*backend);
|
||||||
return backend->SubmitTestcase();
|
return backend->SubmitTestcase();
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <cryptopp/base64.h>
|
#include <cryptopp/base64.h>
|
||||||
#include <glad/glad.h>
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// windows.h needs to be included before shellapi.h
|
// windows.h needs to be included before shellapi.h
|
||||||
|
@ -28,9 +27,8 @@
|
||||||
#include "common/scm_rev.h"
|
#include "common/scm_rev.h"
|
||||||
#include "common/string_util.h"
|
#include "common/string_util.h"
|
||||||
#include "core/announce_multiplayer_session.h"
|
#include "core/announce_multiplayer_session.h"
|
||||||
#include "core/core.h"
|
|
||||||
#include "core/settings.h"
|
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
|
#include "network/network_settings.h"
|
||||||
#include "network/room.h"
|
#include "network/room.h"
|
||||||
#include "network/verify_user.h"
|
#include "network/verify_user.h"
|
||||||
|
|
||||||
|
@ -170,9 +168,6 @@ int main(int argc, char** argv) {
|
||||||
int option_index = 0;
|
int option_index = 0;
|
||||||
char* endarg;
|
char* endarg;
|
||||||
|
|
||||||
// This is just to be able to link against core
|
|
||||||
gladLoadGL();
|
|
||||||
|
|
||||||
std::string room_name;
|
std::string room_name;
|
||||||
std::string room_description;
|
std::string room_description;
|
||||||
std::string password;
|
std::string password;
|
||||||
|
@ -300,15 +295,15 @@ int main(int argc, char** argv) {
|
||||||
if (announce) {
|
if (announce) {
|
||||||
if (username.empty()) {
|
if (username.empty()) {
|
||||||
std::cout << "Hosting a public room\n\n";
|
std::cout << "Hosting a public room\n\n";
|
||||||
Settings::values.web_api_url = web_api_url;
|
NetSettings::values.web_api_url = web_api_url;
|
||||||
Settings::values.citra_username = UsernameFromDisplayToken(token);
|
NetSettings::values.citra_username = UsernameFromDisplayToken(token);
|
||||||
username = Settings::values.citra_username;
|
username = NetSettings::values.citra_username;
|
||||||
Settings::values.citra_token = TokenFromDisplayToken(token);
|
NetSettings::values.citra_token = TokenFromDisplayToken(token);
|
||||||
} else {
|
} else {
|
||||||
std::cout << "Hosting a public room\n\n";
|
std::cout << "Hosting a public room\n\n";
|
||||||
Settings::values.web_api_url = web_api_url;
|
NetSettings::values.web_api_url = web_api_url;
|
||||||
Settings::values.citra_username = username;
|
NetSettings::values.citra_username = username;
|
||||||
Settings::values.citra_token = token;
|
NetSettings::values.citra_token = token;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!announce && enable_citra_mods) {
|
if (!announce && enable_citra_mods) {
|
||||||
|
@ -327,7 +322,8 @@ int main(int argc, char** argv) {
|
||||||
std::unique_ptr<Network::VerifyUser::Backend> verify_backend;
|
std::unique_ptr<Network::VerifyUser::Backend> verify_backend;
|
||||||
if (announce) {
|
if (announce) {
|
||||||
#ifdef ENABLE_WEB_SERVICE
|
#ifdef ENABLE_WEB_SERVICE
|
||||||
verify_backend = std::make_unique<WebService::VerifyUserJWT>(Settings::values.web_api_url);
|
verify_backend =
|
||||||
|
std::make_unique<WebService::VerifyUserJWT>(NetSettings::values.web_api_url);
|
||||||
#else
|
#else
|
||||||
std::cout
|
std::cout
|
||||||
<< "Citra Web Services is not available with this build: validation is disabled.\n\n";
|
<< "Citra Web Services is not available with this build: validation is disabled.\n\n";
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
add_library(network STATIC
|
add_library(network STATIC
|
||||||
network.cpp
|
network.cpp
|
||||||
network.h
|
network.h
|
||||||
|
network_settings.cpp
|
||||||
|
network_settings.h
|
||||||
packet.cpp
|
packet.cpp
|
||||||
packet.h
|
packet.h
|
||||||
room.cpp
|
room.cpp
|
||||||
|
|
11
src/network/network_settings.cpp
Normal file
11
src/network/network_settings.cpp
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Copyright 2020 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "network/network_settings.h"
|
||||||
|
|
||||||
|
namespace NetSettings {
|
||||||
|
|
||||||
|
Values values = {};
|
||||||
|
|
||||||
|
}
|
19
src/network/network_settings.h
Normal file
19
src/network/network_settings.h
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Copyright 2020 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace NetSettings {
|
||||||
|
|
||||||
|
struct Values {
|
||||||
|
// WebService
|
||||||
|
bool enable_telemetry;
|
||||||
|
std::string web_api_url;
|
||||||
|
std::string citra_username;
|
||||||
|
std::string citra_token;
|
||||||
|
} extern values;
|
||||||
|
|
||||||
|
} // namespace NetSettings
|
Loading…
Reference in a new issue