From 4906c8ce7b64318b6309f26fbc0dcfad13198ccd Mon Sep 17 00:00:00 2001 From: zhupengfei Date: Sat, 27 Oct 2018 15:46:58 +0800 Subject: [PATCH] citra-room: Add verify backend and use new announce api --- src/dedicated_room/CMakeLists.txt | 5 +++++ src/dedicated_room/citra-room.cpp | 20 +++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/dedicated_room/CMakeLists.txt b/src/dedicated_room/CMakeLists.txt index cbd5d9726b..2492bc5234 100644 --- a/src/dedicated_room/CMakeLists.txt +++ b/src/dedicated_room/CMakeLists.txt @@ -8,6 +8,11 @@ add_executable(citra-room create_target_directory_groups(citra-room) target_link_libraries(citra-room PRIVATE common core network) +if (ENABLE_WEB_SERVICE) + target_compile_definitions(citra-room PRIVATE -DENABLE_WEB_SERVICE) + target_link_libraries(citra-room PRIVATE web_service) +endif() + target_link_libraries(citra-room PRIVATE glad) if (MSVC) target_link_libraries(citra-room PRIVATE getopt) diff --git a/src/dedicated_room/citra-room.cpp b/src/dedicated_room/citra-room.cpp index 8ccce245da..9246b57974 100644 --- a/src/dedicated_room/citra-room.cpp +++ b/src/dedicated_room/citra-room.cpp @@ -31,6 +31,11 @@ #include "core/core.h" #include "core/settings.h" #include "network/network.h" +#include "network/verify_user.h" + +#ifdef ENABLE_WEB_SERVICE +#include "web_service/verify_user_jwt.h" +#endif static void PrintHelp(const char* argv0) { std::cout << "Usage: " << argv0 @@ -179,10 +184,23 @@ int main(int argc, char** argv) { Settings::values.citra_token = token; } + std::unique_ptr verify_backend; + if (announce) { +#ifdef ENABLE_WEB_SERVICE + verify_backend = std::make_unique(Settings::values.web_api_url); +#else + std::cout + << "Citra Web Services is not available with this build: validation is disabled.\n\n"; + verify_backend = std::make_unique(); +#endif + } else { + verify_backend = std::make_unique(); + } + Network::Init(); if (std::shared_ptr room = Network::GetRoom().lock()) { if (!room->Create(room_name, room_description, "", port, password, max_members, - preferred_game, preferred_game_id)) { + preferred_game, preferred_game_id, std::move(verify_backend))) { std::cout << "Failed to create room: \n\n"; return -1; }