mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	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…
	
	Add table
		Add a link
		
	
		Reference in a new issue